commit eb522143cf96162a0906585eb4736566b1d0bb4e Author: JunkJumper Date: Fri Jun 18 10:37:33 2021 +0200 Projet de stage 2021 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..365e9d6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,615 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Nuget personal access tokens and Credentials +nuget.config + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +.idea/ +*.sln.iml + +# The following command works for downloading when using Git for Windows: +# curl -LOf http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore +# +# Download this file using PowerShell v3 under Windows with the following comand: +# Invoke-WebRequest https://gist.githubusercontent.com/kmorcinek/2710267/raw/ -OutFile .gitignore +# +# or wget: +# wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +x64/ +[Bb]in/ +[Oo]bj/ +# build folder is nowadays used for build scripts and should not be ignored +#build/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# OS generated files # +.DS_Store* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings +modulesbin/ +tempbin/ + +# EPiServer Site file (VPP) +AppData/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# vim +*.txt~ +*.swp +*.swo + +# Temp files when opening LibreOffice on ubuntu +.~lock.* + +# svn +.svn + +# CVS - Source Control +**/CVS/ + +# Remainings from resolving conflicts in Source Control +*.orig + +# SQL Server files +**/App_Data/*.mdf +**/App_Data/*.ldf +**/App_Data/*.sdf + + +#LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +# SASS Compiler cache +.sass-cache + +# Visual Studio 2014 CTP +**/*.sln.ide + +# Visual Studio temp something +.vs/ + +# dotnet stuff +project.lock.json + +# VS 2015+ +*.vc.vc.opendb +*.vc.db + +# Rider +.idea/ + +# Visual Studio Code +.vscode/ + +# Output folder used by Webpack or other FE stuff +**/node_modules/* +**/wwwroot/* + +# SpecFlow specific +*.feature.cs +*.feature.xlsx.* +*.Specs_*.html + +##### +# End of core ignore list, below put you custom 'per project' settings (patterns or path) +##### + +key4intranet.sln diff --git a/README.md b/README.md new file mode 100644 index 0000000..6f9f576 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# Key4intranet + +## Table des matières + +1. [Description](#Description) +2. [Pré-requis](#Pre-requis) +3. [Guide d'instalation](#Guide) + +## Description + +Ce projet est un intranet qui permet le téléchargement de fichier avec un système d'authentification. + +Il fonctionne avec les frameworks ASP .net Core 5.0 & Vue.js. + +## Pre-requis + +- Il faut que votre machine possède le framework [ASP .net Core 5.0](https://dotnet.microsoft.com/download/dotnet/5.0) d'installé. +- Il faut que votre machine possède le [ASP .net Core runtime](https://dotnet.microsoft.com/download/dotnet/5.0/runtime) d'installé. +- Il faut que votre machine possède [node.js](https://nodejs.org/en/download/) d'installé. +- Il faut que votre machine possède [Vue.js CLI](https://v3.vuejs.org/guide/installation.html#cli) d'installé. +- Il faut que votre machine possède le gestionnaire de version [git](https://git-scm.com/downloads) d'installé. + + +# Guide + +Vous devez, dans un premier temps, cloner le projet git en tapant dans une invite de commande ou un terminal : ```git clone git@bitbucket.org:key4team/intranet.git``` + +Une fois le projet cloné sur votre machine, vous aurez une arborescence similaire à ceci : + +``` +. +├───key4intranet.api + └───API files +├───key4intranet.auth + └───Auth files +├───key4intranet.front + └───Front-end files +└───key4intranet.library + └───Document library files +``` + +## Compilation back-end + +Une fois dans votre projet api/auth, il faut que vous publiez la solution grâce à l'outil de publication graphique intégré à Visual studio. Une fois cette dernière compilée, vous devrez vous rendre dans ``~/key4intranet.api/bin/Release/net5.0/publish/`` et copier l'intégralité des fichiers vers le serveur où sera hébergé l'API. + +## Compilation front-end + +Une fois dans le répertoire ``key4intranet.front``, il suffit de lancer la commande ``npm run build`` pour lancer la compilation. Une fois celle ci terminée, il faut copier l'intégralité des fichiers vers le serveur qui hébergera le front. Ces fichiers, après compilation, seront stockés dans ``~/key4intranet.front/dist/``. + + + + diff --git a/key4intranet.Api/.config/dotnet-tools.json b/key4intranet.Api/.config/dotnet-tools.json new file mode 100644 index 0000000..6c44031 --- /dev/null +++ b/key4intranet.Api/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "5.0.7", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/key4intranet.Api/.gitignore b/key4intranet.Api/.gitignore new file mode 100644 index 0000000..c27a7be --- /dev/null +++ b/key4intranet.Api/.gitignore @@ -0,0 +1,614 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Nuget personal access tokens and Credentials +nuget.config + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +.idea/ +*.sln.iml + +# The following command works for downloading when using Git for Windows: +# curl -LOf http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore +# +# Download this file using PowerShell v3 under Windows with the following comand: +# Invoke-WebRequest https://gist.githubusercontent.com/kmorcinek/2710267/raw/ -OutFile .gitignore +# +# or wget: +# wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +x64/ +[Bb]in/ +[Oo]bj/ +# build folder is nowadays used for build scripts and should not be ignored +#build/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# OS generated files # +.DS_Store* +Icon? + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings +modulesbin/ +tempbin/ + +# EPiServer Site file (VPP) +AppData/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# vim +*.txt~ +*.swp +*.swo + +# Temp files when opening LibreOffice on ubuntu +.~lock.* + +# svn +.svn + +# CVS - Source Control +**/CVS/ + +# Remainings from resolving conflicts in Source Control +*.orig + +# SQL Server files +**/App_Data/*.mdf +**/App_Data/*.ldf +**/App_Data/*.sdf + + +#LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +# SASS Compiler cache +.sass-cache + +# Visual Studio 2014 CTP +**/*.sln.ide + +# Visual Studio temp something +.vs/ + +# dotnet stuff +project.lock.json + +# VS 2015+ +*.vc.vc.opendb +*.vc.db + +# Rider +.idea/ + +# Visual Studio Code +.vscode/ + +# Output folder used by Webpack or other FE stuff +**/node_modules/* +**/wwwroot/* + +# SpecFlow specific +*.feature.cs +*.feature.xlsx.* +*.Specs_*.html + +##### +# End of core ignore list, below put you custom 'per project' settings (patterns or path) +##### \ No newline at end of file diff --git a/key4intranet.Api/Controllers/AuthenticationController.cs b/key4intranet.Api/Controllers/AuthenticationController.cs new file mode 100644 index 0000000..51593fe --- /dev/null +++ b/key4intranet.Api/Controllers/AuthenticationController.cs @@ -0,0 +1,58 @@ +using key4intranet.authentication.Models; +using key4intranet.authentication.Service; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using System; + +namespace key4intranet.Api.Controllers +{ + [ApiController] + [Authorize] + [Route("api/auth")] + public class AuthenticationController : ControllerBase + { + private readonly ILogger _logger; + private readonly IAuthenticationService _authenticationService; + + public AuthenticationController(ILogger logger, IAuthenticationService authenticationService) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _authenticationService = authenticationService ?? throw new ArgumentNullException(nameof(authenticationService)); + } + + [AllowAnonymous] + [HttpPost] + public IActionResult Authenticate([FromBody] PostUserModel model) + { + if (model == null) { return Unauthorized(); } + if (string.IsNullOrWhiteSpace(model.User)) { return Unauthorized(); } + if (string.IsNullOrWhiteSpace(model.Pass)) { return Unauthorized(); } + + var user = _authenticationService.Authenticate(model); + if (user == null) { return Unauthorized(); } + + var returnUser = new ExposedUserModel + { + Id = user.Id, + Name = user.Name, + Roles = user.Roles, + }; + + var token = _authenticationService.GetToken(user); + if (string.IsNullOrWhiteSpace(token)) { return Unauthorized(); } + + returnUser.Token = token; + return Ok(returnUser); + } + + [HttpPost("encrypt")] + public string EncryptPhrase([FromBody] string phrase) + { + if (string.IsNullOrWhiteSpace(phrase)) { throw new ArgumentNullException(nameof(phrase)); } + + return (new PasswordHasher()).HashPassword(null, phrase); + } + } +} diff --git a/key4intranet.Api/Controllers/DownloadController.cs b/key4intranet.Api/Controllers/DownloadController.cs new file mode 100644 index 0000000..a154d13 --- /dev/null +++ b/key4intranet.Api/Controllers/DownloadController.cs @@ -0,0 +1,74 @@ +using key4.HttpExceptions; +using key4intranet.Api.Docs; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.StaticFiles; +using Newtonsoft.Json; +using System; +using System.IO; +using System.Threading.Tasks; + +namespace key4intranet.Api.Controllers +{ + + [ApiController] + [Authorize] + public class DownloadController : ControllerBase + { + private readonly IDocumentManager _documentManager; + + public DownloadController(IDocumentManager documentManager) + { + _documentManager = documentManager ?? throw new ArgumentNullException(nameof(documentManager)); + } + + [Route("api/download/id/{fileId}/")] + public Task SearchFile(String fileId) + { + if (_documentManager.dl.HasFile(fileId)) + { + return DownloadFile(_documentManager.dl.GetDocumentFromLibrary(fileId)); + } + else + { + throw new HttpNotFoundException("error - file not found in library"); + } + } + + [Route("api/download/getLibrary/")] + public IActionResult getFilesFromLibraryToJSON() + { + _documentManager.KnowAllDocuments(); + return Ok(_documentManager.dl.GetAllDocuments()); + } + + [Route("api/download/getLibrary/{group}/")] + public IActionResult getFilesFromLibraryToJSONwithSpecificDepartment(String group) + { + _documentManager.KnowAllDocuments(); + return Ok(_documentManager.dl.GetAllDocumentsFromGroup(_documentManager.GetDepartement(group))); + } + + [HttpGet] + private async Task DownloadFile(Document d) + { + // validation and get the file + + var filePath = d.getPath(); + if (!System.IO.File.Exists(filePath)) + { + await System.IO.File.WriteAllTextAsync(filePath, d.fileName); + } + + var provider = new FileExtensionContentTypeProvider(); + if (!provider.TryGetContentType(filePath, out var contentType)) + { + contentType = "application/octet-stream"; + } + + var bytes = await System.IO.File.ReadAllBytesAsync(filePath); + return File(bytes, contentType, Path.GetFileName(filePath)); + } + + } +} diff --git a/key4intranet.Api/Controllers/EchoController.cs b/key4intranet.Api/Controllers/EchoController.cs new file mode 100644 index 0000000..aa55711 --- /dev/null +++ b/key4intranet.Api/Controllers/EchoController.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace key4intranet.Api.Controllers +{ + [ApiController] + [Authorize] + [Route("api/echo")] + public class EchoController : ControllerBase + { + [AllowAnonymous] + [HttpGet] + public IActionResult GetEcho() + { + return Ok($"echo { GetProjectName() }"); + } + + [HttpGet("authorized")] + public IActionResult GetAuthorizedEcho() + { + return Ok($"authorized echo { GetProjectName() }"); + } + + private string GetProjectName() => this.GetType().Namespace.Split('.')[0]; + } +} diff --git a/key4intranet.Api/Docs/Departement.cs b/key4intranet.Api/Docs/Departement.cs new file mode 100644 index 0000000..0a5fbe4 --- /dev/null +++ b/key4intranet.Api/Docs/Departement.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace key4intranet.Api.Docs { + public enum Departement { + OPERATIONNEL, + COMMERCIAL, + ADMISTRATIF, + DEV, + DIRECTION, + ERR //only for errors + } +} diff --git a/key4intranet.Api/Docs/Document.cs b/key4intranet.Api/Docs/Document.cs new file mode 100644 index 0000000..c228048 --- /dev/null +++ b/key4intranet.Api/Docs/Document.cs @@ -0,0 +1,44 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System; +using System.IO; + +namespace key4intranet.Api.Docs { + + [Serializable] + public class Document { + + public String id {get;} + [JsonIgnore] + private FileInfo file; //for back-end usage + public String fileName {get;} //for front-end usage + public String extension {get;} + [JsonConverter(typeof(StringEnumConverter))] + public Departement group {get;} + public int permissionLevel {get;} + + public Document(String i_d, FileInfo f, Departement depart, int permission_level) { + this.id = i_d; + this.file = f; + this.fileName = f.Name.Split(".")[0].Substring(6); + this.extension = f.Extension.Substring(1); + this.group = depart; + this.permissionLevel = permission_level; + } + + public Document() { + } + + public String getId() { + return this.id; + } + + public String getPath() { + return this.file.FullName; + } + + public Departement getGroup() { + return this.group; + } + } +} diff --git a/key4intranet.Api/Docs/DocumentLibrary.cs b/key4intranet.Api/Docs/DocumentLibrary.cs new file mode 100644 index 0000000..0609543 --- /dev/null +++ b/key4intranet.Api/Docs/DocumentLibrary.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace key4intranet.Api.Docs { + public interface IDocumentLibrary{ + void resetLibrary(); + Document GetDocumentFromLibrary(String fileId); + Boolean HasFile(String fileId); + void addToLibrary(Document d); + List GetAllDocuments(); + List GetAllDocumentsFromGroup(Departement departement); + Boolean isEmpty(); + } + + public class DocumentLibrary: IDocumentLibrary + { + private List library; + + public DocumentLibrary() { + library = new List(); + } + + public void resetLibrary() { + this.library.Clear(); + } + + public Document GetDocumentFromLibrary(String fileId) { + Document r; + if(this.HasFile(fileId)) { + int iterator = 0; + int index = -1; + foreach(Document d in library) { + if(d.getId().ToUpper().Equals(fileId.ToUpper())) { + index = iterator; + } + ++iterator; + } + r = library[index]; + } else { + r = new Document(); + } + return r; + } + + public Boolean HasFile(String fileId) { + Boolean r = false; + foreach(Document d in library) { + if(d.getId().ToUpper().Equals(fileId.ToUpper())) { + return true; + } + } + return r; + } + + public void addToLibrary(Document d) { + library.Add(d); + } + + public List GetAllDocuments() { + return this.library; + } + + public List GetAllDocumentsFromGroup(Departement departement) { + List rl = new List(); + List library = this.GetAllDocuments(); + + foreach(Document doc in library) { + if(doc.getGroup().Equals(departement)) { + rl.Add(doc); + } + } + + return rl; + } + + public Boolean isEmpty() { + return (this.library.Count == 0); + } + + } +} diff --git a/key4intranet.Api/Docs/DocumentManager.cs b/key4intranet.Api/Docs/DocumentManager.cs new file mode 100644 index 0000000..75d5b86 --- /dev/null +++ b/key4intranet.Api/Docs/DocumentManager.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace key4intranet.Api.Docs +{ + public interface IDocumentManager + { + public DocumentLibrary dl { get; set; } + public void KnowAllDocuments(); + public Departement GetDepartement(String file); + } + public class DocumentManager : IDocumentManager + { + private readonly IDocumentPathManager _documentPathManager; + public DocumentLibrary dl { get; set; } + + + public DocumentManager(IDocumentPathManager documentPathManager) + { + _documentPathManager = documentPathManager ?? throw new ArgumentNullException(nameof(documentPathManager)); + this.dl = new DocumentLibrary(); + KnowAllDocuments(); + } + + public void KnowAllDocuments() + { + DirectoryInfo d = new DirectoryInfo(_documentPathManager.KnowFolder()); + List files = new List(d.GetFiles("*.*", SearchOption.AllDirectories)); + if (!dl.isEmpty()) + { + dl.resetLibrary(); + } + + foreach (FileInfo file in files) + { + if (!(file.Name.ToLower().Contains(".git"))) + { + dl.addToLibrary(new Document(GenerateID(file.Name), file, GetDepartement(file.Name), 1)); + } + } + } + + public Departement GetDepartement(String file) + { + String check; + if (file.Length >= 3) + { + check = file.Substring(0, 3).ToUpper(); + } + else + { + check = "ERR"; + } + switch (check) + { + case "OPE": + return Departement.OPERATIONNEL; + case "COM": + return Departement.COMMERCIAL; + case "ADM": + return Departement.ADMISTRATIF; + case "DEV": + return Departement.DEV; + case "DIR": + return Departement.DIRECTION; + default: + return Departement.ERR; + } + } + + private String GenerateID(String file) + { + return file.Substring(0, 3).ToUpper() + file.Substring(3, 3); + } + + } +} diff --git a/key4intranet.Api/Docs/DocumentPathManager.cs b/key4intranet.Api/Docs/DocumentPathManager.cs new file mode 100644 index 0000000..9abf762 --- /dev/null +++ b/key4intranet.Api/Docs/DocumentPathManager.cs @@ -0,0 +1,41 @@ +using Microsoft.Extensions.Configuration; +using System; + + +namespace key4intranet.Api.Docs{ + public interface IDocumentPathManager + { + String BuildFullPathToFile(String fileName, String format); + public String BuildFullPathToFile(String subFolderPath, String fileName, String format); + public String KnowFolder(); + } + + public class DocumentPathManager : IDocumentPathManager + { + + private readonly String sourceFolderPath; + private readonly String ressourcesPath; + + public DocumentPathManager(IConfiguration config) + { + sourceFolderPath = config.GetSection("Settings:sourceFolderPath").Value; + ressourcesPath = config.GetSection("Settings:ressourcesPath").Value; + } + + private String BuildFileName(String fileName, String format) { + return fileName + "." + format.ToLower(); + } + + public String BuildFullPathToFile(String fileName, String format) { + return BuildFullPathToFile("", fileName, format); + } + + public String BuildFullPathToFile(String subFolderPath, String fileName, String format) { + return sourceFolderPath + ressourcesPath + subFolderPath + BuildFileName(fileName, format); + } + + public String KnowFolder() { + return sourceFolderPath + ressourcesPath; + } + } +} diff --git a/key4intranet.Api/Program.cs b/key4intranet.Api/Program.cs new file mode 100644 index 0000000..758e957 --- /dev/null +++ b/key4intranet.Api/Program.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; + + +namespace key4intranet.Api +{ + public class Program + { + + public static void Main(string[] args) + { + CreateHostBuilder(args).Build().Run(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); + + + } +} diff --git a/key4intranet.Api/Properties/launchSettings.json b/key4intranet.Api/Properties/launchSettings.json new file mode 100644 index 0000000..777561a --- /dev/null +++ b/key4intranet.Api/Properties/launchSettings.json @@ -0,0 +1,31 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:56455", + "sslPort": 44385 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "api/echo", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "key4intranet.Api": { + "commandName": "Project", + "dotnetRunMessages": "true", + "launchBrowser": true, + "launchUrl": "api/echo", + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/key4intranet.Api/Startup.cs b/key4intranet.Api/Startup.cs new file mode 100644 index 0000000..776920c --- /dev/null +++ b/key4intranet.Api/Startup.cs @@ -0,0 +1,54 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using key4intranet.authentication; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using key4.AspNetCore.ExceptionHandler.Middleware; +using key4intranet.Api.Docs; + +namespace key4intranet.Api { + public class Startup { + + public Startup(IConfiguration configuration) { + Configuration = configuration; + } + + public IConfiguration Configuration { + get; + } + + // This method gets called by the runtime. Use this method to add services to the container. + public void ConfigureServices(IServiceCollection services) { + services.AddControllers(); + + services.AddAuthenticationServicesCollection(); + + services.AddScoped(); + services.AddScoped(); + } + + // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { + if(env.IsDevelopment()) { + app.UseDeveloperExceptionPage(); + } + app.UseApiExceptionHandler(); + app.UseHttpsRedirection(); + + app.UseRouting(); + + app.UseCors(x => x + .AllowAnyOrigin() + .AllowAnyMethod() + .AllowAnyHeader()); + + app.UseAuthentication(); + app.UseAuthorization(); + + app.UseEndpoints(endpoints => { + endpoints.MapControllers(); + }); + } + } +} diff --git a/key4intranet.Api/appsettings.Development.json b/key4intranet.Api/appsettings.Development.json new file mode 100644 index 0000000..8983e0f --- /dev/null +++ b/key4intranet.Api/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/key4intranet.Api/appsettings.json b/key4intranet.Api/appsettings.json new file mode 100644 index 0000000..f59c787 --- /dev/null +++ b/key4intranet.Api/appsettings.json @@ -0,0 +1,26 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "Settings": { + "sourceFolderPath": "localhost\\key4intranet", + "ressourcesPath": "\\key4intranet.library\\" + }, + "Authentication": { + "JwtIssuer": "api.key4intranet.key4events.com", + "Entities": [ + { + "Id": "30ea838e-8e26-4bda-9eec-71d06b2ae1bb", + "Mail": "dev@itzpompom.fr", + "Pass": "AQAAAAEAACcQAAAAEI/jgRnG93m/EROa8A5pt6JF8kSMEngLokdkV2DO/1mTNBXytIR1+NwrUD/J/VgpMQ==", + "Name": "PomPom", + "Roles": [ "KEY4ADMIN" ] + } + ] + }, + "AllowedHosts": "*" +} diff --git a/key4intranet.Api/key4intranet.Api.csproj b/key4intranet.Api/key4intranet.Api.csproj new file mode 100644 index 0000000..0a20722 --- /dev/null +++ b/key4intranet.Api/key4intranet.Api.csproj @@ -0,0 +1,17 @@ + + + + net5.0 + + + + + + + + + + + + + diff --git a/key4intranet.authentication/.gitignore b/key4intranet.authentication/.gitignore new file mode 100644 index 0000000..95856eb --- /dev/null +++ b/key4intranet.authentication/.gitignore @@ -0,0 +1,452 @@ +# These are some examples of commonly ignored file patterns. +# You should customize this list as applicable to your project. +# Learn more about .gitignore: +# https://www.atlassian.com/git/tutorials/saving-changes/gitignore + +/.vs/ +/.vs/* + +# Node artifact files +node_modules/ +dist/ + +# Compiled Java class files +*.class + +# Compiled Python bytecode +*.py[cod] + +# Log files +*.log + +# Package files +*.jar + +# Maven +target/ +dist/ + +# JetBrains IDE +.idea/ + +# Unit test reports +TEST*.xml + +# Generated by MacOS +.DS_Store + +# Generated by Windows +Thumbs.db + +# Applications +*.app +*.exe +*.war + +# Large media files +*.mp4 +*.tiff +*.avi +*.flv +*.mov +*.wmv + +# Library files + +*.pdf +*.doc +*.docx +*.cache + +# Api cache +key4intranet.Api/obj/* + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Nuget personal access tokens and Credentials +nuget.config + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +.idea/ +*.sln.iml + diff --git a/key4intranet.authentication/DependanciesCollection.cs b/key4intranet.authentication/DependanciesCollection.cs new file mode 100644 index 0000000..80e76f9 --- /dev/null +++ b/key4intranet.authentication/DependanciesCollection.cs @@ -0,0 +1,41 @@ +using key4intranet.authentication.Providers.Jwt; +using key4intranet.authentication.Service; +using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.IdentityModel.Tokens; +using System; + +namespace key4intranet.authentication +{ + public static class DependanciesCollection + { + public static IServiceCollection AddAuthenticationServicesCollection(this IServiceCollection services) + { + services.AddScoped(); + + // Configure Authentication + services.AddAuthentication(x => + { + x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; + x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + }) + // Configure JWT + .AddJwtBearer(x => + { + x.RequireHttpsMetadata = false; + x.SaveToken = true; + x.TokenValidationParameters = new TokenValidationParameters + { + ClockSkew = TimeSpan.Zero, + ValidateIssuerSigningKey = true, + IssuerSigningKey = new SymmetricSecurityKey(JwtTokenProvider.SignatureKey), + ValidateIssuer = true, + ValidIssuer = JwtTokenProvider.Issuer, + ValidateAudience = false + }; + }); + + return services; + } + } +} diff --git a/key4intranet.authentication/Models/ExposedUserModel.cs b/key4intranet.authentication/Models/ExposedUserModel.cs new file mode 100644 index 0000000..e8b33ed --- /dev/null +++ b/key4intranet.authentication/Models/ExposedUserModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace key4intranet.authentication.Models +{ + public class ExposedUserModel + { + public string Id { get; set; } + public string Name { get; set; } + public List Roles { get; set; } + public string Token { get; set; } + } +} diff --git a/key4intranet.authentication/Models/PostUserModel.cs b/key4intranet.authentication/Models/PostUserModel.cs new file mode 100644 index 0000000..3d9690b --- /dev/null +++ b/key4intranet.authentication/Models/PostUserModel.cs @@ -0,0 +1,8 @@ +namespace key4intranet.authentication.Models +{ + public class PostUserModel + { + public string User { get; set; } + public string Pass { get; set; } + } +} diff --git a/key4intranet.authentication/Models/StoredUserModel.cs b/key4intranet.authentication/Models/StoredUserModel.cs new file mode 100644 index 0000000..84448da --- /dev/null +++ b/key4intranet.authentication/Models/StoredUserModel.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; + +namespace key4intranet.authentication.Models +{ + public class StoredUserModel + { + public string Id { get; set; } + public string Mail { get; set; } + public string Pass { get; set; } + public string Name { get; set; } + public List Roles { get; set; } + } +} diff --git a/key4intranet.authentication/Providers/ITokenProvider.cs b/key4intranet.authentication/Providers/ITokenProvider.cs new file mode 100644 index 0000000..1dbe6c6 --- /dev/null +++ b/key4intranet.authentication/Providers/ITokenProvider.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace key4intranet.authentication.Providers +{ + public interface ITokenProvider + { + /// + /// Create a token with list of private claim + /// + /// claims + /// encrypt token + string CreateToken(IDictionary claims); + /// + /// Create a token with list claims, there be public or private + /// + /// Private claims + /// Public claims + /// Encrypt token + string CreateToken(IDictionary privateClaims, IDictionary publicClaims); + /// + /// Get claims from token + /// + /// token + /// List of claims + IDictionary ReadClaims(string token); + /// + /// Is token valide + /// + /// token + /// true is token is valid + Boolean ValidateToken(string token); + } +} diff --git a/key4intranet.authentication/Providers/Jwt/JwtTokenProvider.cs b/key4intranet.authentication/Providers/Jwt/JwtTokenProvider.cs new file mode 100644 index 0000000..13b966d --- /dev/null +++ b/key4intranet.authentication/Providers/Jwt/JwtTokenProvider.cs @@ -0,0 +1,101 @@ +using Microsoft.IdentityModel.Tokens; +using System; +using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; +using System.IO; +using System.Linq; +using System.Security.Claims; +using System.Text; + +namespace key4intranet.authentication.Providers.Jwt +{ + public class JwtTokenProvider : ITokenProvider + { + public static byte[] SignatureKey { get; } = Encoding.ASCII.GetBytes(Guid.NewGuid().ToString()); + public static string Issuer { get; set; } = "https://api.key4intranet.key4events.com"; + + /// + /// Create a JWT with private and public claims + /// + /// private claims + /// public claims + /// token + public string CreateToken(IDictionary privateClaims, IDictionary publicClaims) + { + throw new NotImplementedException(); + } + + /// + /// Create a JWT with list of private claim + /// + /// claims + /// encrypt token + public string CreateToken(IDictionary claims) + { + //private claims can't not be empty + if (claims == null || claims.Count == 0) + throw new IOException($"private claims can't be null or empty."); + + var tokenDescriptor = (new SecurityTokenDescriptor() + { + Issuer = Issuer, + Expires = DateTime.UtcNow.AddMinutes(120), + SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(SignatureKey), SecurityAlgorithms.HmacSha256Signature), + Subject = new ClaimsIdentity() + }); + + // Registrered claims + foreach (var item in claims) + { + // identifier + if (new List() { "name", "id" }.Contains(item.Key.ToLower())) tokenDescriptor.Subject.AddClaim(new Claim(ClaimTypes.Name, item.Value.ToString())); + // roles + else if (new List() { "role", "roles" }.Contains(item.Key.ToLower())) + if (item.Value is IEnumerable roles) + foreach (string role in roles) + tokenDescriptor.Subject.AddClaim(new Claim(ClaimTypes.Role, role)); + else + tokenDescriptor.Subject.AddClaim(new Claim(ClaimTypes.Role, item.Value.ToString())); + // issuer + else if (new List() { "iss", "issuer" }.Contains(item.Key.ToLower())) tokenDescriptor.Issuer = item.Value.ToString(); + //audience + else if (new List() { "aud", "audience" }.Contains(item.Key.ToLower())) tokenDescriptor.Audience = item.Value.ToString(); + + } + + + var handler = new JwtSecurityTokenHandler(); + var token = handler.CreateToken(tokenDescriptor); + + return handler.WriteToken(token); + } + + /// + /// Get claims from token + /// + /// token + /// List of claims + public IDictionary ReadClaims(string token) + { + if (token == null) + throw new ArgumentNullException("Token is null."); + + var handler = new JwtSecurityTokenHandler(); + if (!handler.CanReadToken(token)) + throw new ArgumentException("Can't read token."); + + var jwtToken = handler.ReadJwtToken(token); + return (IDictionary)jwtToken.Claims.ToDictionary(c => c.Type, c => (object)c.Value); + } + + /// + /// For JWT => Bearer extention will validate token + /// + /// jwt token + /// true if valid + public bool ValidateToken(string token) + { + throw new NotImplementedException(); + } + } +} diff --git a/key4intranet.authentication/Service/AuthenticationService.cs b/key4intranet.authentication/Service/AuthenticationService.cs new file mode 100644 index 0000000..c77d3f5 --- /dev/null +++ b/key4intranet.authentication/Service/AuthenticationService.cs @@ -0,0 +1,50 @@ +using key4intranet.authentication.Models; +using Microsoft.AspNetCore.Identity; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; + +namespace key4intranet.authentication.Service +{ + public interface IAuthenticationService + { + StoredUserModel Authenticate(PostUserModel login); + string GetToken(StoredUserModel user); + } + + public class AuthenticationService : IAuthenticationService + { + private readonly ILogger _logger; + private readonly List _users; + + public AuthenticationService(ILogger logger, IConfiguration configuration) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _users = configuration.GetSection("Authentication:Entities").Get>() ?? throw new ArgumentNullException("ConfigUserList"); + } + + public StoredUserModel Authenticate(PostUserModel login) + { + var user = _users.Find(u => u.Mail == login.User); + if (user != null && CheckPassword(login, user)) + { + return user; + } + return null; + } + + public string GetToken(StoredUserModel user) + { + _ = user ?? throw new ArgumentNullException(nameof(user)); + var provider = new TokenProviderService().GetTokenProvider(TokenProviderService.TokenType.JWT); + return provider.CreateToken(new Dictionary() { { "ID", user.Mail }, { "Roles", user.Roles } }); + + } + + private bool CheckPassword(PostUserModel submitUser, StoredUserModel storedUser) + { + return (new PasswordHasher()).VerifyHashedPassword(null, storedUser.Pass, submitUser.Pass) == PasswordVerificationResult.Success; + } + } +} diff --git a/key4intranet.authentication/Service/TokenProviderService.cs b/key4intranet.authentication/Service/TokenProviderService.cs new file mode 100644 index 0000000..81126c0 --- /dev/null +++ b/key4intranet.authentication/Service/TokenProviderService.cs @@ -0,0 +1,25 @@ +using key4intranet.authentication.Providers; +using key4intranet.authentication.Providers.Jwt; +using System; +using System.Collections.Generic; +using System.Text; + +namespace key4intranet.authentication.Service +{ + public class TokenProviderService + { + public enum TokenType + { + JWT + } + + public ITokenProvider GetTokenProvider(TokenType type) + { + return type switch + { + TokenType.JWT => (ITokenProvider)new JwtTokenProvider(), + _ => null, + }; + } + } +} diff --git a/key4intranet.authentication/key4intranet.authentication.csproj b/key4intranet.authentication/key4intranet.authentication.csproj new file mode 100644 index 0000000..01cb8b2 --- /dev/null +++ b/key4intranet.authentication/key4intranet.authentication.csproj @@ -0,0 +1,11 @@ + + + + net5.0 + + + + + + + diff --git a/key4intranet.front/.env b/key4intranet.front/.env new file mode 100644 index 0000000..829ebad --- /dev/null +++ b/key4intranet.front/.env @@ -0,0 +1 @@ +VUE_APP_API_URL_BASE=http://localhost:8090/ \ No newline at end of file diff --git a/key4intranet.front/.env.development b/key4intranet.front/.env.development new file mode 100644 index 0000000..14b6bec --- /dev/null +++ b/key4intranet.front/.env.development @@ -0,0 +1 @@ +VUE_APP_API_URL_BASE=https://localhost:44385/ \ No newline at end of file diff --git a/key4intranet.front/.gitignore b/key4intranet.front/.gitignore new file mode 100644 index 0000000..403adbc --- /dev/null +++ b/key4intranet.front/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/key4intranet.front/README.md b/key4intranet.front/README.md new file mode 100644 index 0000000..764971f --- /dev/null +++ b/key4intranet.front/README.md @@ -0,0 +1,24 @@ +# key4intranet.front + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/key4intranet.front/babel.config.js b/key4intranet.front/babel.config.js new file mode 100644 index 0000000..e5ac36a --- /dev/null +++ b/key4intranet.front/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + "presets": [ + "@vue/cli-plugin-babel/preset" + ] +} \ No newline at end of file diff --git a/key4intranet.front/package-lock.json b/key4intranet.front/package-lock.json new file mode 100644 index 0000000..261d352 --- /dev/null +++ b/key4intranet.front/package-lock.json @@ -0,0 +1,12323 @@ +{ + "name": "key4intranet.front", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.13.15.tgz", + "integrity": "sha1-fo7qQtC2T9orN1si0GxgUiLoSPQ=", + "dev": true + }, + "@babel/core": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.13.15.tgz", + "integrity": "sha1-ptQJF98CdIe1QxIgKgaBLE93ktA=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.13", + "@babel/helper-module-transforms": "^7.13.14", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.15", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.15", + "@babel/types": "^7.13.14", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.13.9.tgz?cache=0&sync_timestamp=1614635095774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.13.9.tgz", + "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", + "dev": true, + "requires": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha1-D1jobfxLs7H819uAZXDhd9Q5tqs=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha1-a8IDYciLCnTQUTemXKyNPL9vYfw=", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.13.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.13.tgz?cache=0&sync_timestamp=1616793849299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.13.13.tgz", + "integrity": "sha1-KylyoJJkdIU/QeStvGkzj1IGAOU=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.12", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.13.11", + "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha1-MNMKAFvKLJU/VlP8JQkaSSF39PY=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.17", + "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.17.tgz", + "integrity": "sha1-oqyH6eMZJprGVbjUQV6U041mPLc=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.0.tgz", + "integrity": "sha1-pkAFF3IEX+2q7MbwxsafAr3TS/E=", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.13.0.tgz?cache=0&sync_timestamp=1614034288985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.13.0.tgz", + "integrity": "sha1-F7XFn/Rz2flW9A71cM86dsoSZX8=", + "dev": true, + "requires": { + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314730700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.12.13.tgz", + "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.13.0.tgz?cache=0&sync_timestamp=1614034242956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.13.0.tgz", + "integrity": "sha1-XViC6FW1xe2pHgytwmxueiyFk9g=", + "dev": true, + "requires": { + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.13.12", + "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.12.tgz?cache=0&sync_timestamp=1616428120148&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha1-3+No8m1CagcpnY1lE4IXaCFubXI=", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-imports": { + "version": "7.13.12", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.13.12.tgz", + "integrity": "sha1-xqNppvNiHLJdoBQHhoTakZa2GXc=", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-transforms": { + "version": "7.13.14", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.13.14.tgz?cache=0&sync_timestamp=1617027384265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.13.14.tgz", + "integrity": "sha1-5gBlK6SMyxZBd1QTyzLPpOi0le8=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz?cache=0&sync_timestamp=1614034264835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.13.0.tgz", + "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.13.0.tgz", + "integrity": "sha1-N2p2DZ97SyB3qd0Fqpw5J8rbIgk=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.13.12", + "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.12.tgz", + "integrity": "sha1-ZEL0wa2RJQJIGlZKc4beDHf/OAQ=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-simple-access": { + "version": "7.13.12", + "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.13.12.tgz?cache=0&sync_timestamp=1616428111369&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.13.12.tgz", + "integrity": "sha1-3WxTivthgZ0gWgEsMXkqOcel6vY=", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.12.1.tgz?cache=0&sync_timestamp=1602799934886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha1-Ri3GOn5DWt6EaDhcY9K4TM5LPL8=", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076851017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", + "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-option/download/@babel/helper-validator-option-7.12.17.tgz", + "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.13.0.tgz?cache=0&sync_timestamp=1614034295470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.13.0.tgz", + "integrity": "sha1-vbXGb9qFJuwjWriUrVOhI1x5/MQ=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helpers": { + "version": "7.13.10", + "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.13.10.tgz?cache=0&sync_timestamp=1615243064836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.13.10.tgz", + "integrity": "sha1-/Y4rp0iFM83qxFzBWOnryl48ffg=", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz?cache=0&sync_timestamp=1615243065645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.13.10.tgz", + "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.13.15.tgz", + "integrity": "sha1-jmZ3X7UjWZrLaiieEpKfpasJVNg=", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.13.12", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz?cache=0&sync_timestamp=1616428234838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining%2Fdownload%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", + "integrity": "sha1-o0hNhNC1SfP8kWuZ7keD8m+rrSo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.13.12" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.13.15.tgz", + "integrity": "sha1-gOVJ3yc6OzBQQxsUjIkkkd8bzFs=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.13.0.tgz?cache=0&sync_timestamp=1614034278413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha1-FGN2AAuU79AB5XpAqIpSWvqrnzc=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.13.15.tgz?cache=0&sync_timestamp=1617898242863&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.13.15.tgz", + "integrity": "sha1-6RzP7y3CTdW9XcyfyeJVfGhOz7g=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.11", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-decorators": "^7.12.13" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.13.8.tgz?cache=0&sync_timestamp=1614383147594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.13.8.tgz", + "integrity": "sha1-h2ofaWbh3sMy6MlFGv2jvrzfLh0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.12.13.tgz?cache=0&sync_timestamp=1612314818045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-namespace-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha1-OTvkekrNA/oq9uPN6bBuM94bRG0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.13.8.tgz?cache=0&sync_timestamp=1614383148225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.13.8.tgz", + "integrity": "sha1-vx+zYlRwda/aNjTtMVccWQGv73s=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.13.8.tgz?cache=0&sync_timestamp=1614383123641&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.13.8.tgz", + "integrity": "sha1-k/p41jhXxAzjyMMxUiD9AL+7Tho=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz?cache=0&sync_timestamp=1614383148702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.13.8.tgz", + "integrity": "sha1-NzCjHa/TwQ2MzRBkjtgKKsVHLvM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.13.tgz?cache=0&sync_timestamp=1612314818336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha1-vZ2jGI54e1EgtPnUZagmHOZ+0ds=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.13.8.tgz?cache=0&sync_timestamp=1614383131892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.13.8.tgz", + "integrity": "sha1-XSEKTXJ9bOOxj53oLMmaOWTu1go=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.13.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.13.8.tgz?cache=0&sync_timestamp=1614383148865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.13.8.tgz", + "integrity": "sha1-Ota9WQFQbqmW/DG9zzzPor7XEQc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.13.12", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.13.12.tgz?cache=0&sync_timestamp=1616428110827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.13.12.tgz", + "integrity": "sha1-up/rYB1CLgrepnYMK9a7t7/sSGY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.13.0.tgz", + "integrity": "sha1-BL1MbUD25rv6L1fi2AlLrZAO94c=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha1-vr3lEzm+gpwXqqrO0YZB3rYrObo=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314818069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.12.13.tgz", + "integrity": "sha1-+sgpvzx+9KG8kWJXtAPljGva9kg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz?cache=0&sync_timestamp=1578950368021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-dynamic-import%2Fdownload%2F%40babel%2Fplugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.13.tgz?cache=0&sync_timestamp=1612314725554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha1-BE+4HrrWaY/mLEeIdVdby7m3DxU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593521827654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.12.13.tgz?cache=0&sync_timestamp=1612314725861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha1-xfD6biSfW3OXJ/kjVAz3qAYTAXg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.13.0.tgz", + "integrity": "sha1-EKWb661S1jegJ6+mkujVzv9ePa4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.13.0.tgz", + "integrity": "sha1-jhEr9ncbgr8el05eJoBsXJmqUW8=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.13.tgz?cache=0&sync_timestamp=1612314725922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha1-qb8YNvKjm062zwmWdzneKepL9MQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.12.13.tgz?cache=0&sync_timestamp=1612314728153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha1-825VB20G9B39eFV+oDnBtYFkLmE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.13.0.tgz", + "integrity": "sha1-AmUVUHXEKRi/TTpAUxNBdq2bUzs=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.13.0.tgz", + "integrity": "sha1-hFxui5u1U3ax+guS7wvcjqBmRO0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.13.0.tgz", + "integrity": "sha1-xdzicAFNTh67HYBhFmlMErcCiWM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha1-PxYBzCmQW/y2f1ORDxl66v67Ja0=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.13.tgz?cache=0&sync_timestamp=1612314726608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha1-bwa4eouAP9ko5UuBwljwoAM5BN4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.13.tgz?cache=0&sync_timestamp=1612314730682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha1-TVI5C5onPmUeSrpq7knvQOgM0KE=", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.13.0.tgz?cache=0&sync_timestamp=1614034276697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.13.0.tgz", + "integrity": "sha1-x5n4gagJGsJrVIZ6hFw+l9JpYGI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314730751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.12.13.tgz", + "integrity": "sha1-uwJEUvmq7YYdN0yOeiQlLOOlAFE=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314725912&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.12.13.tgz", + "integrity": "sha1-LKRbr+SoIBl88xV5Sk0mVg/kvbk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314726040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha1-X/pmzVm54ZExTJ8fgDuTjowIHkA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.13.0.tgz", + "integrity": "sha1-GfUR1g49h1PMWm1Od106UYSGbMM=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.13.8.tgz?cache=0&sync_timestamp=1614383149905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.13.8.tgz", + "integrity": "sha1-ewGtfC3PInWwb6F4HgDRPUILPhs=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.13.8", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.13.8.tgz?cache=0&sync_timestamp=1614383149112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.13.8.tgz", + "integrity": "sha1-bQZu4r/zx7PWC/KN7Baa2ZODGuM=", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.13.0", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-identifier": "^7.12.11", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.13.0.tgz", + "integrity": "sha1-ij2WqX0ZlwW5/QIVgAgq+BwG5ws=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha1-IhNyWl9bu+NktQw7pZmMlZnFydk=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.12.13.tgz?cache=0&sync_timestamp=1612314725988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.12.13.tgz", + "integrity": "sha1-4i2MOvJLFQ3VKMvW5oXnmb8cNRw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.12.13.tgz?cache=0&sync_timestamp=1612314740228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.12.13.tgz", + "integrity": "sha1-tEFqLWO4974xTz00m9VanBtRcfc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.13.0.tgz", + "integrity": "sha1-j6dgPjCX+cC3yhpIIbwvtS6eUAc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314726170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha1-TmqeN4ZNjxs7wOLc57+IV9uLGoE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.13.15.tgz", + "integrity": "sha1-5esolFv4tlY+f4GJRflmqNKZfzk=", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.12.13.tgz?cache=0&sync_timestamp=1612314730815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha1-fZmI1PBuD+aX6h2YAxiKoYtHJpU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.13.15.tgz", + "integrity": "sha1-Lt31hd0Ga4QQJRfhCld/JPdqnNc=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-polyfill-corejs2": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^0.2.0", + "babel-plugin-polyfill-regenerator": "^0.2.0", + "semver": "^6.3.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314730318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha1-23VXMrcMU51QTGOQ2c6Q/mSv960=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.13.0.tgz", + "integrity": "sha1-hIh3EOJzwYFaznrkWfb0Kl0x1f0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha1-dg/9k2+s5z+GCuZG+4bugvPQbR8=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.13.0", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.13.0.tgz", + "integrity": "sha1-o2BJEnl3rZRDje50Q1mNHO/fQJ0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.12.13.tgz?cache=0&sync_timestamp=1612314730347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha1-eF3Weh8upXnZwr5yLejITLhfWn8=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.13.tgz?cache=0&sync_timestamp=1612314730331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha1-hAztO4FtO1En3R0S3O3F3q0aXnQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha1-tSUhaFgE4VWxIC6D/BiNNLtw9aw=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/polyfill": { + "version": "7.12.1", + "resolved": "https://registry.npm.taobao.org/@babel/polyfill/download/@babel/polyfill-7.12.1.tgz", + "integrity": "sha1-Hy1jcdEmG72WHzxdWQkVDhLQvZY=", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.12.tgz", + "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=", + "dev": true + } + } + }, + "@babel/preset-env": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.13.15.tgz", + "integrity": "sha1-yKbrWE+W7LoYPT1BSoNVOlmfR48=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.15", + "@babel/helper-compilation-targets": "^7.13.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", + "@babel/plugin-proposal-async-generator-functions": "^7.13.15", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-dynamic-import": "^7.13.8", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.13.8", + "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.13.8", + "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-proposal-private-methods": "^7.13.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.13.0", + "@babel/plugin-transform-async-to-generator": "^7.13.0", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.13.0", + "@babel/plugin-transform-computed-properties": "^7.13.0", + "@babel/plugin-transform-destructuring": "^7.13.0", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.13.0", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.13.0", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/plugin-transform-modules-systemjs": "^7.13.8", + "@babel/plugin-transform-modules-umd": "^7.13.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.13.0", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.13.15", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.13.0", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.13.0", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.13.14", + "babel-plugin-polyfill-corejs2": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^0.2.0", + "babel-plugin-polyfill-regenerator": "^0.2.0", + "core-js-compat": "^3.9.0", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz?cache=0&sync_timestamp=1598549694693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-modules%2Fdownload%2F%40babel%2Fpreset-modules-0.1.4.tgz", + "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.13.10", + "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.13.10.tgz?cache=0&sync_timestamp=1615243066705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.13.10.tgz", + "integrity": "sha1-R9QqV7YJX0Ro2kQDiP262L6/DX0=", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz?cache=0&sync_timestamp=1612314730561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.12.13.tgz", + "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.13.15", + "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.13.15.tgz", + "integrity": "sha1-w4v3Z5M03dQCjo4fezqlAZ8Nrac=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.15", + "@babel/types": "^7.13.14", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.13.14", + "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.13.14.tgz?cache=0&sync_timestamp=1617027383828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.13.14.tgz", + "integrity": "sha1-w1pKuxXHzUWidG14qzKONiy6zg0=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@fortawesome/fontawesome-common-types": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz", + "integrity": "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw==" + }, + "@fortawesome/fontawesome-svg-core": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.35.tgz", + "integrity": "sha512-uLEXifXIL7hnh2sNZQrIJWNol7cTVIzwI+4qcBIq9QWaZqUblm0IDrtSqbNg+3SQf8SMGHkiSigD++rHmCHjBg==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/free-solid-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.3.tgz", + "integrity": "sha512-XPeeu1IlGYqz4VWGRAT5ukNMd4VHUEEJ7ysZ7pSSgaEtNvSo+FLurybGJVmiqkQdK50OkSja2bfZXOeyMGRD8Q==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz", + "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz?cache=0&sync_timestamp=1593915150444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fbourne%2Fdownload%2F%40hapi%2Fbourne-1.3.2.tgz", + "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz", + "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz", + "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz", + "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", + "dev": true + }, + "@nuxt/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/@nuxt/opencollective/download/@nuxt/opencollective-0.3.2.tgz", + "integrity": "sha1-g8twzbK6xfrW+Mk1KeexEYfUnAI=", + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927625608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz", + "integrity": "sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.2", + "string-width": "^2.0.0", + "strip-ansi": "^5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + } + } + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/@soda/get-current-script/download/@soda/get-current-script-1.0.2.tgz", + "integrity": "sha1-pTUV2yXYA4N0OBtzryC7Ty5QjYc=", + "dev": true + }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz?cache=0&sync_timestamp=1613378060592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fanymatch%2Fdownload%2F%40types%2Fanymatch-1.3.1.tgz", + "integrity": "sha1-M2utwb7sudrMOL6izzKt9ieoQho=", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbody-parser%2Fdownload%2F%40types%2Fbody-parser-1.19.0.tgz", + "integrity": "sha1-BoWzxH6zAG/+0RfN1VFkth+AU48=", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.34", + "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz?cache=0&sync_timestamp=1613378309564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect%2Fdownload%2F%40types%2Fconnect-3.4.34.tgz", + "integrity": "sha1-FwpAIjptZmAG2TyhKK8r6x2bGQE=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.4", + "resolved": "https://registry.npm.taobao.org/@types/connect-history-api-fallback/download/@types/connect-history-api-fallback-1.3.4.tgz?cache=0&sync_timestamp=1615910664204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect-history-api-fallback%2Fdownload%2F%40types%2Fconnect-history-api-fallback-1.3.4.tgz", + "integrity": "sha1-jA8Obl2CUraZ9aZi9Rvfgv2di7g=", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.11", + "resolved": "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.11.tgz", + "integrity": "sha1-3r48qm+OX82pa0e9VOL0DE7llUU=", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.19", + "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.19.tgz", + "integrity": "sha1-AKz8FjLnKaysTxUw6eFvbdFQih0=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1613378758886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz", + "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.5", + "resolved": "https://registry.npm.taobao.org/@types/http-proxy/download/@types/http-proxy-1.17.5.tgz?cache=0&sync_timestamp=1613378761091&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fhttp-proxy%2Fdownload%2F%40types%2Fhttp-proxy-1.17.5.tgz", + "integrity": "sha1-wgPF5uncaCDSekDrHlEccKIgQj0=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz", + "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=", + "dev": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/@types/mime/download/@types/mime-1.3.2.tgz", + "integrity": "sha1-k+Jb+e51/g/YC1lLxP6w6GIRG1o=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.4.tgz?cache=0&sync_timestamp=1616639422543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.4.tgz", + "integrity": "sha1-8Owl2/Lw5LGGRzE6wDETTKWySyE=", + "dev": true + }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/@types/minimist/download/@types/minimist-1.2.1.tgz", + "integrity": "sha1-KD9mn/dte4Jg34q3pCYsyD2YglY=", + "dev": true + }, + "@types/node": { + "version": "14.14.37", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.37.tgz", + "integrity": "sha1-o92NpOuEqZbDbjMd+Y2Cq9drUW4=", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz", + "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", + "dev": true + }, + "@types/qs": { + "version": "6.9.6", + "resolved": "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.6.tgz?cache=0&sync_timestamp=1615109179784&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fqs%2Fdownload%2F%40types%2Fqs-6.9.6.tgz", + "integrity": "sha1-35w8izGiR+wxXmmWVmvjFx30s7E=", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz", + "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=", + "dev": true + }, + "@types/serve-static": { + "version": "1.13.9", + "resolved": "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.9.tgz?cache=0&sync_timestamp=1613384362265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fserve-static%2Fdownload%2F%40types%2Fserve-static-1.13.9.tgz", + "integrity": "sha1-qs8oqFoF7imhH7fD6tk1rFbzPk4=", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", + "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=", + "dev": true + }, + "@types/tapable": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.7.tgz", + "integrity": "sha1-VFFYNC+Uno/Tv9gTIklx7N3D+sQ=", + "dev": true + }, + "@types/uglify-js": { + "version": "3.13.0", + "resolved": "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.13.0.tgz?cache=0&sync_timestamp=1615112063411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.13.0.tgz", + "integrity": "sha1-HK2N8fsLFDxaugjeVxLqnR/3ESQ=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@types/webpack": { + "version": "4.41.27", + "resolved": "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.27.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.27.tgz", + "integrity": "sha1-9H2kiMgDfn8bLb8nFPu6y2HsD/w=", + "dev": true, + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@types/webpack-dev-server": { + "version": "3.11.3", + "resolved": "https://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.11.3.tgz", + "integrity": "sha1-I34m2HZRz5VJDc01b1aMjIQBYXc=", + "dev": true, + "requires": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-2.1.0.tgz", + "integrity": "sha1-iIKwvWLR4M5i8YPQ0Bty5ugujBA=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true + } + } + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz?cache=0&sync_timestamp=1602851197289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha1-MWJKelBfsU2h1YAjclpMXycOaoE=", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz?cache=0&sync_timestamp=1610812350571&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-transform-on%2Fdownload%2F%40vue%2Fbabel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w=", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.0.4.tgz", + "integrity": "sha1-B3gmyg7M13y2rWmCVPWCHe1cUYk=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz?cache=0&sync_timestamp=1602851197462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-transform-vue-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } + }, + "@vue/babel-preset-app": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.12.tgz?cache=0&sync_timestamp=1616590653924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-preset-app%2Fdownload%2F%40vue%2Fbabel-preset-app-4.5.12.tgz", + "integrity": "sha1-w6I88z9uXqMFNvE8D5sfx+AoscE=", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + } + }, + "@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz?cache=0&sync_timestamp=1602851198838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz?cache=0&sync_timestamp=1603806797927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-render-instance%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz?cache=0&sync_timestamp=1602929497838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-functional-vue%2Fdownload%2F%40vue%2Fbabel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz?cache=0&sync_timestamp=1602929581308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha1-1zjTyJM2fshJHcu2abAAkZKT46o=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz?cache=0&sync_timestamp=1603182468308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-model%2Fdownload%2F%40vue%2Fbabel-sugar-v-model-1.2.3.tgz", + "integrity": "sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603922099064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz?cache=0&sync_timestamp=1603182019525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-on%2Fdownload%2F%40vue%2Fbabel-sugar-v-on-1.2.3.tgz", + "integrity": "sha1-NCNnF4WGpp85LwS/ujICHQKROto=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603922099064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + } + } + }, + "@vue/cli-overlay": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-overlay/download/@vue/cli-overlay-4.5.12.tgz?cache=0&sync_timestamp=1616590658145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-overlay%2Fdownload%2F%40vue%2Fcli-overlay-4.5.12.tgz", + "integrity": "sha1-1a41OrsYdnIgQZfc0HekNn1NSiQ=", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.5.12.tgz", + "integrity": "sha1-yXN9QHlIXOm+B8RjyB4eM4hsYhk=", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.12", + "@vue/cli-shared-utils": "^4.5.12", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.5.12.tgz?cache=0&sync_timestamp=1616590654457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-eslint%2Fdownload%2F%40vue%2Fcli-plugin-eslint-4.5.12.tgz", + "integrity": "sha1-f8Kh0KSQ+jAO9OlFGMLMSbp6KS8=", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.12", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-router": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.12.tgz?cache=0&sync_timestamp=1616590661502&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-router%2Fdownload%2F%40vue%2Fcli-plugin-router-4.5.12.tgz", + "integrity": "sha1-l3xLK2lMwD6e+BYRKl1YkjST0Kw=", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.12" + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.5.12.tgz?cache=0&sync_timestamp=1616590656418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-vuex%2Fdownload%2F%40vue%2Fcli-plugin-vuex-4.5.12.tgz", + "integrity": "sha1-9/vhd+5xdvBVtUbp50Ry+dkXdiY=", + "dev": true + }, + "@vue/cli-service": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-4.5.12.tgz", + "integrity": "sha1-SDrvfcTip7ArfyJPCi73zqkQ4DM=", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.12", + "@vue/cli-plugin-router": "^4.5.12", + "@vue/cli-plugin-vuex": "^4.5.12", + "@vue/cli-shared-utils": "^4.5.12", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^7.1.0", + "terser-webpack-plugin": "^2.3.6", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-loader-v16": "npm:vue-loader@^16.1.0", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz", + "integrity": "sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "ssri": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.1.tgz", + "integrity": "sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "terser-webpack-plugin": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz?cache=0&sync_timestamp=1610194258495&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.8.tgz", + "integrity": "sha1-iUdkoZsHQ/L3BOfCqEjFKDppZyQ=", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.3.1", + "jest-worker": "^25.4.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.6.12", + "webpack-sources": "^1.4.3" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "4.5.12", + "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.12.tgz?cache=0&sync_timestamp=1616590660239&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.5.12.tgz", + "integrity": "sha1-DgaT1IgzbShP+mWP8zseoikn0GU=", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + } + }, + "@vue/component-compiler-utils": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.0.tgz?cache=0&sync_timestamp=1595427694165&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.2.0.tgz", + "integrity": "sha1-j4UYLO7Sjps8dTE95mn4MWbRHl0=", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427606170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fpreload-webpack-plugin%2Fdownload%2F%40vue%2Fpreload-webpack-plugin-1.1.2.tgz", + "integrity": "sha1-zrkktOyzucQ4ccekKaAvhCPmIas=", + "dev": true + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz?cache=0&sync_timestamp=1613216639558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fweb-component-wrapper%2Fdownload%2F%40vue%2Fweb-component-wrapper-1.3.0.tgz", + "integrity": "sha1-trQKdiVCnSvXwigd26YB7QXcfxo=", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1610041327965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", + "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1610043274676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz", + "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1610041334619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz", + "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1610041334130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz", + "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz", + "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1610041345513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz", + "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&sync_timestamp=1601755861500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz", + "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&sync_timestamp=1610041334247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1610041332602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", + "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&sync_timestamp=1610041334740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz", + "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1610041334514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz", + "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1610041334838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz", + "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", + "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1610041335808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", + "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1610041336191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", + "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041328345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", + "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041336497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", + "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1610041335289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", + "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.2.tgz", + "integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599499160644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz", + "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz", + "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz", + "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz", + "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1618160037158&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz?cache=0&sync_timestamp=1616886041666&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-errors%2Fdownload%2Fajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.2.tgz", + "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.21.3.tgz", + "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=", + "dev": true + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.2.0.tgz", + "integrity": "sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz?cache=0&sync_timestamp=1614624227561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz", + "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1614956763868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz", + "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604103580457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", + "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", + "dev": true + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", + "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1606424688085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz", + "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1587495824228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.0.tgz", + "integrity": "sha1-aGd1v5pap1fhBSCQNnXjiJyu7cQ=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.0", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.0.tgz?cache=0&sync_timestamp=1617210130706&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.0.tgz", + "integrity": "sha1-9LS7exkymCffNv9W9ubTZwJst6I=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.0", + "core-js-compat": "^3.9.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.0.tgz", + "integrity": "sha1-hT9fVxb0aR2YyE+Aacdjbqjaerg=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714298273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "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.npm.taobao.org/define-property/download/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.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1605123435820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz", + "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz", + "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1598869137824&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz", + "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/bootstrap/download/bootstrap-4.6.0.tgz", + "integrity": "sha1-l7nymsmPmN+kO/dGgmLYQ5JVL9c=" + }, + "bootstrap-vue": { + "version": "2.21.2", + "resolved": "https://registry.npm.taobao.org/bootstrap-vue/download/bootstrap-vue-2.21.2.tgz", + "integrity": "sha1-7Dj2bDoiBb7MzdthWKmR2WUJ7Qs=", + "requires": { + "@nuxt/opencollective": "^0.3.2", + "bootstrap": ">=4.5.3 <5.0.0", + "popper.js": "^1.16.1", + "portal-vue": "^2.1.7", + "vue-functional-data-merge": "^3.1.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010713935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "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.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.1.0.tgz?cache=0&sync_timestamp=1605194217709&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-rsa%2Fdownload%2Fbrowserify-rsa-4.1.0.tgz", + "integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz", + "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30001230", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz", + "integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.739", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz", + "integrity": "sha512-+LPJVRsN7hGZ9EIUUiWCpO7l4E3qBYHNadazlucBfsXBbccDFNKUBAgzE68FnkWGJPwD/AfKhSzL+G+Iqb8A4A==", + "dev": true + } + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1606100030972&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz", + "integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz", + "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "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" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz", + "integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610402833657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz?cache=0&sync_timestamp=1603922099064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.0.tgz", + "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", + "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001208", + "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001208.tgz?cache=0&sync_timestamp=1617866675529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001208.tgz", + "integrity": "sha1-qZkBSjXOvU+YxAWTCgV6DXU1Lrk=", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1601034855780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz", + "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=", + "dev": true + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz", + "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", + "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905851551&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", + "dev": true + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fci-info%2Fdownload%2Fci-info-1.6.0.tgz", + "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "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.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1616153455026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz", + "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1605702384104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.11.tgz?cache=0&sync_timestamp=1616955169015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.11.tgz", + "integrity": "sha1-SXNvpFLwqvT65YDjCssmgo0twb8=", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.6.0.tgz", + "integrity": "sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk=", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz", + "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=", + "dev": true + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", + "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz", + "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1604880226973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", + "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz", + "integrity": "sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.5.5", + "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.5.tgz?cache=0&sync_timestamp=1614967287897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-1.5.5.tgz", + "integrity": "sha1-ZUdKjw50OWJfPSemoZ2J/EUiMBQ=", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259623635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", + "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npm.taobao.org/consola/download/consola-2.15.3.tgz", + "integrity": "sha1-LhH5jWpL5x/3LgvfB70j4Sy2FVA=" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz?cache=0&sync_timestamp=1599596658886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.15.1.tgz", + "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&sync_timestamp=1587525998658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz?cache=0&sync_timestamp=1617709702983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.2.tgz", + "integrity": "sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI=", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169872380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz?cache=0&sync_timestamp=1598237815612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581725110840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1590809430681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz", + "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602861215716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz?cache=0&sync_timestamp=1618384600356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-3.10.1.tgz", + "integrity": "sha1-5oOWOXi2gG3MbApKi9SrC9rz8ho=" + }, + "core-js-compat": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.10.1.tgz", + "integrity": "sha1-Yhg6OnfO7/zEINkHo+b8Z9myfxw=", + "dev": true, + "requires": { + "browserslist": "^4.16.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", + "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1596313016776&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557469480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz", + "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1598867150563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1604519240728&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz", + "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz", + "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603922099064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1617437442336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz", + "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1615262862801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz", + "integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.11.tgz", + "integrity": "sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk=", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha1-kgYisfwelaNOiDggPxOXpQTy0/8=", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408869238&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz", + "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.3.tgz", + "integrity": "sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.14.tgz", + "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073407658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348638646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606859714626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1593091003052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz", + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1610365784356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz", + "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&sync_timestamp=1598867150563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1606971061972&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz", + "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz", + "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823545101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1617889805215&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz", + "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz?cache=0&sync_timestamp=1617947695861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-2.0.1.tgz", + "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971695678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1601076915294&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581725110840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-node": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.5.tgz?cache=0&sync_timestamp=1615920894247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-node%2Fdownload%2Fdetect-node-2.0.5.tgz", + "integrity": "sha1-nScKp+qlrwtyxMnZuBTn9M5zi3k=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdir-glob%2Fdownload%2Fdir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1617299326465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1617913408804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz", + "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npm.taobao.org/dotenv/download/dotenv-8.2.0.tgz", + "integrity": "sha1-l+YZJZradQ7qPk6j4mvO6lQksWo=", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", + "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz?cache=0&sync_timestamp=1597221020457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fduplexer%2Fdownload%2Fduplexer-0.1.2.tgz", + "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fduplexify%2Fdownload%2Fduplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.1.tgz?cache=0&sync_timestamp=1605128933665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feasy-stack%2Fdownload%2Feasy-stack-1.0.1.tgz", + "integrity": "sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1612643343638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz", + "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz?cache=0&sync_timestamp=1612290557689&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.4.tgz", + "integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1610568463915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz", + "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz", + "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1611535562200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz", + "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0.tgz", + "integrity": "sha1-q4CzWe7Lft5MKYAAOQvFrD7HtaQ=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567306925&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz", + "integrity": "sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz", + "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", + "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz", + "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-plugin-vue": { + "version": "6.2.2", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz", + "integrity": "sha1-J/7NmjokeJsPER7N1UCp5WGY4P4=", + "dev": true, + "requires": { + "natural-compare": "^1.4.0", + "semver": "^5.6.0", + "vue-eslint-parser": "^7.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz", + "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1607146443455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz", + "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz?cache=0&sync_timestamp=1612565844379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.4.0.tgz", + "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641410437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598898247102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641410437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596641410437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz?cache=0&sync_timestamp=1606361626381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevent-pubsub%2Fdownload%2Fevent-pubsub-4.3.0.tgz", + "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517732045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.1.0.tgz", + "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1606971061972&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/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": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/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.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1598867231599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/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.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "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.npm.taobao.org/define-property/download/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.npm.taobao.org/extend-shallow/download/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.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "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.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1610876640588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz?cache=0&sync_timestamp=1598237815612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", + "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffiggy-pudding%2Fdownload%2Ffiggy-pudding-3.5.2.tgz", + "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz", + "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz", + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz?cache=0&sync_timestamp=1603816841545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-4.3.0.tgz", + "integrity": "sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "dev": true, + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz", + "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/fill-range/download/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.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1597169872380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz?cache=0&sync_timestamp=1604831928877&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflat-cache%2Fdownload%2Fflat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581230370030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1611061273899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.3.tgz?cache=0&sync_timestamp=1614436958094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.3.tgz", + "integrity": "sha1-5VmK1QF0wbxOhyMB6CrCzZf5Amc=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613411079128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1611075460296&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz", + "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz", + "integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603829621482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "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-parent": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-9.2.0.tgz", + "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605526036809&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgzip-size%2Fdownload%2Fgzip-size-5.1.1.tgz", + "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz?cache=0&sync_timestamp=1585154457081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhandle-thing%2Fdownload%2Fhandle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596082650501&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz", + "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz", + "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443617831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-value/download/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.npm.taobao.org/has-values/download/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.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", + "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true + } + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz", + "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", + "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", + "dev": true + }, + "highlight.js": { + "version": "10.7.2", + "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-10.7.2.tgz", + "integrity": "sha1-iTGbhh7cZsSIVO0ebaIeqJ+Ec2A=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz", + "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz?cache=0&sync_timestamp=1617826598042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1617031468383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", + "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", + "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", + "dev": true + } + } + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz", + "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159920398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1611535562200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz?cache=0&sync_timestamp=1609539959333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.5.3.tgz", + "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-1.1.1.tgz", + "integrity": "sha1-SJAKaM2dOIxzXR3ZcwLJGbfpShM=", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz", + "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868478326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz", + "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184589720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz", + "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838314962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz", + "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1590809430681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169872380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602861215716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1598869159256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1614296916461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz", + "integrity": "sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz", + "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823545101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1617889805215&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz", + "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz", + "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1605885569376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365784356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz?cache=0&sync_timestamp=1598867191154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip%2Fdownload%2Fip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1611327086114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/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.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117583816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.0.tgz", + "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-bigint/download/is-bigint-1.0.1.tgz", + "integrity": "sha1-aSMFHfy8dkJ4VAuc4OazITql68I=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-boolean-object/download/is-boolean-object-1.1.0.tgz", + "integrity": "sha1-4qqtOjqPyjTCj27uE1sVbtJYf/A=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429461527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.3.tgz?cache=0&sync_timestamp=1612133035765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.3.tgz", + "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz", + "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.2.0.tgz?cache=0&sync_timestamp=1606411565080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.2.0.tgz", + "integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/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.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "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.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.2.1.tgz?cache=0&sync_timestamp=1617958767917&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-docker%2Fdownload%2Fis-docker-2.2.1.tgz", + "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz?cache=0&sync_timestamp=1598237815612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-glob%2Fdownload%2Fis-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123132826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz", + "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/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.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-number-object/download/is-number-object-1.0.4.tgz", + "integrity": "sha1-NqyV50HPGLKD/B3fXoPaeY4+wZc=", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-3.0.0.tgz", + "integrity": "sha1-r28uoUrFpkYYOlu9tbqrvBVq2dc=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1599667372314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.2.tgz?cache=0&sync_timestamp=1612217359034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.2.tgz", + "integrity": "sha1-gcjr3k2xQvLPHFP8htakV4gmYlE=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.1.0.tgz", + "integrity": "sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk=", + "dev": true + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.5.0.tgz?cache=0&sync_timestamp=1618267682095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-25.5.0.tgz", + "integrity": "sha1-JhHQcbec6g9D7lej0RhZOsFUfbE=", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-file-download": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz", + "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==" + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.7.tgz", + "integrity": "sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc=", + "dev": true + }, + "js-queue": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.2.tgz", + "integrity": "sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II=", + "dev": true, + "requires": { + "easy-stack": "^1.0.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1609680103034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", + "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603893628084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553838875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607998264311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-stable-stringify-without-jsonify%2Fdownload%2Fjson-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161824632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/jsprim/download/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" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz", + "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", + "dev": true + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", + "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz", + "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169872380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1602861215716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1610027908268&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz?cache=0&sync_timestamp=1562718717933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.defaultsdeep%2Fdownload%2Flodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606314031897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.1.tgz", + "integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=", + "dev": true + }, + "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==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1606867791834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427606170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz", + "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", + "dev": true + } + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.5.2.tgz", + "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=", + "dev": true + }, + "mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.47.0.tgz", + "integrity": "sha1-jLMT5Zll08Bc+/iYkVomevRqM1w=", + "dev": true + }, + "mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.30.tgz", + "integrity": "sha1-bnvotMR5gl+F7WMmaV23P5MF1i0=", + "dev": true, + "requires": { + "mime-db": "1.47.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1617823545101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz", + "integrity": "sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz", + "integrity": "sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz", + "integrity": "sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mutationobserver-shim": { + "version": "0.3.7", + "resolved": "https://registry.npm.taobao.org/mutationobserver-shim/download/mutationobserver-shim-0.3.7.tgz", + "integrity": "sha1-i/YzsMCwKRoRByVe0ywTCIqMW/M=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz", + "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", + "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz", + "integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "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-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" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317444539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1606867268911&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&sync_timestamp=1599311968037&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz", + "integrity": "sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI=" + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010781800&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz", + "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", + "dev": true + }, + "node-ipc": { + "version": "9.1.4", + "resolved": "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.4.tgz?cache=0&sync_timestamp=1614360292509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-ipc%2Fdownload%2Fnode-ipc-9.1.4.tgz", + "integrity": "sha1-Ks+WJoGv2sJgKHbZj+ZDTVTZvTw=", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.7", + "js-queue": "2.0.2" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.71.tgz?cache=0&sync_timestamp=1614109281105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.71.tgz", + "integrity": "sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs=", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1616086903193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", + "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz?cache=0&sync_timestamp=1606861164153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnth-check%2Fdownload%2Fnth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/object-copy/download/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.npm.taobao.org/define-property/download/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.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz?cache=0&sync_timestamp=1608921384686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-hash%2Fdownload%2Fobject-hash-1.3.1.tgz", + "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", + "dev": true + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804315827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", + "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857652230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", + "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz", + "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860226109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.3.tgz", + "integrity": "sha1-6qix4XWJ8C9pjbCT98Yu4WmXQu4=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1617889805215&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz", + "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598732797840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz", + "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz", + "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz?cache=0&sync_timestamp=1617947695861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1606288806475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz", + "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1610208884754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1606867255504&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz", + "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", + "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1595850937464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-6.0.1.tgz?cache=0&sync_timestamp=1595850937464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz?cache=0&sync_timestamp=1583254548523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-browserify%2Fdownload%2Fpath-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971695678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752058913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581725110840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.2.tgz?cache=0&sync_timestamp=1617976093778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.2.tgz", + "integrity": "sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU=", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.3.tgz?cache=0&sync_timestamp=1618050023150&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpicomatch%2Fdownload%2Fpicomatch-2.2.3.tgz", + "integrity": "sha1-RlVH81nMwgbTxI5Goby4m/fuYZ0=", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1581725110840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1602861215716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha1-yXEaxNxIpoXauvyG+Lbdn434QUk=", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz", + "integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs=" + }, + "portal-vue": { + "version": "2.1.7", + "resolved": "https://registry.npm.taobao.org/portal-vue/download/portal-vue-2.1.7.tgz", + "integrity": "sha1-6ggGmyW2QMoIpbhvZ8YS8V9OStQ=" + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz", + "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1618159251458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz", + "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1609689216761&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz", + "integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz?cache=0&sync_timestamp=1618056345711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-4.0.3.tgz", + "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz?cache=0&sync_timestamp=1618056346656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz", + "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1618056344474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz", + "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz?cache=0&sync_timestamp=1618056344848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1618056345314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz", + "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1612743171132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz", + "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz", + "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&sync_timestamp=1618056353522&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz", + "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1618056349459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz", + "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045356898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&sync_timestamp=1618056769116&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-4.0.2.tgz", + "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz?cache=0&sync_timestamp=1618056769278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-4.0.2.tgz", + "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1618056350711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz", + "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045356898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&sync_timestamp=1602588177787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602588061607&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1602593150083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz", + "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&sync_timestamp=1602586198892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz", + "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&sync_timestamp=1618056347405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz", + "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz?cache=0&sync_timestamp=1618056346146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz", + "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1618056351083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz?cache=0&sync_timestamp=1618056348131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-normalize-string-4.0.2.tgz", + "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz?cache=0&sync_timestamp=1618056351423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-timing-functions%2Fdownload%2Fpostcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&sync_timestamp=1618056347026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz", + "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz?cache=0&sync_timestamp=1618056350366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz", + "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz?cache=0&sync_timestamp=1618056347748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz", + "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1618056769472&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.4.tgz?cache=0&sync_timestamp=1601045356898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.4.tgz", + "integrity": "sha1-VgdaE4CgRgTDiwY+p3Z6Epr1wrM=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.3.tgz?cache=0&sync_timestamp=1618056348970&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.3.tgz", + "integrity": "sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz?cache=0&sync_timestamp=1585869208651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprelude-ls%2Fdownload%2Fprelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1606521150228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", + "dev": true, + "optional": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.2.tgz?cache=0&sync_timestamp=1609589327290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-error%2Fdownload%2Fpretty-error-2.1.2.tgz", + "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", + "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", + "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz?cache=0&sync_timestamp=1597689313665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystringify%2Fdownload%2Fquerystringify-2.2.0.tgz", + "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frandombytes%2Fdownload%2Frandombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz?cache=0&sync_timestamp=1616915181709&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "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" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz", + "integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz", + "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", + "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557458064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", + "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725705400&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", + "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz", + "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=", + "dev": true + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413524794&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz", + "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz?cache=0&sync_timestamp=1590335980151&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.2.tgz", + "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", + "dev": true + }, + "regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.9.tgz?cache=0&sync_timestamp=1616545090129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsparser%2Fdownload%2Fregjsparser-0.6.9.tgz", + "integrity": "sha1-tInu98mizkNydicBFCnPgzpxg+Y=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603893628084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.5.tgz?cache=0&sync_timestamp=1609588540446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frenderkid%2Fdownload%2Frenderkid-2.0.5.tgz", + "integrity": "sha1-SDsaxZxmAaswp6WWpZZcq8z90KU=", + "dev": true, + "requires": { + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.4.tgz", + "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1598867240781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "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": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-from%2Fdownload%2Fresolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz?cache=0&sync_timestamp=1613003036585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fret%2Fdownload%2Fret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581230370030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz", + "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.7.tgz", + "integrity": "sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/safe-regex/download/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.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, + "sass": { + "version": "1.32.8", + "resolved": "https://registry.npm.taobao.org/sass/download/sass-1.32.8.tgz?cache=0&sync_timestamp=1613686237261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass%2Fdownload%2Fsass-1.32.8.tgz", + "integrity": "sha1-8WqavY3FMK3Yg05QaHiigIwDe9w=", + "dev": true, + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "10.1.1", + "resolved": "https://registry.npm.taobao.org/sass-loader/download/sass-loader-10.1.1.tgz?cache=0&sync_timestamp=1612804841420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-10.1.1.tgz", + "integrity": "sha1-Td1aPXY455SQZd1unHwEA39+Zj0=", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1594427606170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", + "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186146412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz", + "integrity": "sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA=", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599742605902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz", + "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "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.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", + "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585253323149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", + "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz?cache=0&sync_timestamp=1618384600356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-2.0.0.tgz", + "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz?cache=0&sync_timestamp=1617971896034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsnapdragon%2Fdownload%2Fsnapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "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": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/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.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "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.npm.taobao.org/define-property/download/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.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "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.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.21.tgz", + "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.5.1.tgz", + "integrity": "sha1-JWkI9tWt+5Tau9vQLGY2LMoPnqY=", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566782124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1609311347731&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "dev": true, + "requires": { + "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": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1598869144200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.1.tgz?cache=0&sync_timestamp=1612210508484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-url%2Fdownload%2Fsource-map-url-0.4.1.tgz", + "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.7.tgz", + "integrity": "sha1-6cGKQQ5e1+EkQqVJ+9ivp2cDjWU=", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "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" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.2.tgz?cache=0&sync_timestamp=1617826339976&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.2.tgz", + "integrity": "sha1-FXk5E08gRk5zAd26PpD/qPdyisU=", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz", + "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/static-extend/download/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.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654027495&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701115133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", + "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz", + "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1618056391120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz", + "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045356898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz", + "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1618376355221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1607089091087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1616002211535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz", + "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1610194258495&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz", + "integrity": "sha1-oheu+uozDnNP+sthIOwfoxLWBAs=", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169872380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602861215716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz", + "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz?cache=0&sync_timestamp=1618315125537&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthread-loader%2Fdownload%2Fthread-loader-2.1.3.tgz", + "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793837115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz", + "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580550651593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/to-object-path/download/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.npm.taobao.org/kind-of/download/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.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "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.npm.taobao.org/to-regex-range/download/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" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", + "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", + "dev": true + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz", + "integrity": "sha1-pQCtCEsHmPHDBxrzkeZZEshrypI=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1617647466458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/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.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", + "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", + "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706278290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz", + "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180037346&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unset-value/download/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.npm.taobao.org/has-value/download/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.npm.taobao.org/isobject/download/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.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1604768835990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&sync_timestamp=1606860005124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237742114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz?cache=0&sync_timestamp=1602252626029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-2.3.0.tgz", + "integrity": "sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + } + }, + "url-parse": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.5.1.tgz", + "integrity": "sha1-1fqYkK+KXh8nSiyYN2UQ9kJfbjs=", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1610159920398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz", + "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993892777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz", + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz", + "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/verror/download/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" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", + "dev": true + }, + "vue": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + }, + "vue-cli-plugin-axios": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/vue-cli-plugin-axios/download/vue-cli-plugin-axios-0.0.4.tgz", + "integrity": "sha1-KdTrSCdcf+FbkuH9XZX74qlmQ28=", + "dev": true + }, + "vue-cli-plugin-bootstrap-vue": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/vue-cli-plugin-bootstrap-vue/download/vue-cli-plugin-bootstrap-vue-0.7.0.tgz", + "integrity": "sha1-tE7XGA5ZrKKEbpgfxn9Z18dymOM=", + "dev": true + }, + "vue-eslint-parser": { + "version": "7.6.0", + "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.6.0.tgz", + "integrity": "sha1-AeoaKTL1gf8kQzZWXXEoAfj3JWE=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.0.0", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.15" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + } + } + }, + "vue-functional-data-merge": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/vue-functional-data-merge/download/vue-functional-data-merge-3.1.0.tgz?cache=0&sync_timestamp=1616454167032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-functional-data-merge%2Fdownload%2Fvue-functional-data-merge-3.1.0.tgz", + "integrity": "sha1-CKd5dYO381aAWH+KHVHXKaodxlc=" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", + "dev": true + }, + "vue-loader": { + "version": "15.9.6", + "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.6.tgz?cache=0&sync_timestamp=1616796552261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.6.tgz", + "integrity": "sha1-9Lua4gw6g3CvPs8JuBJtOP/ba4s=", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.2.0", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", + "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "vue-meta": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/vue-meta/-/vue-meta-2.4.0.tgz", + "integrity": "sha512-XEeZUmlVeODclAjCNpWDnjgw+t3WA6gdzs6ENoIAgwO1J1d5p1tezDhtteLUFwcaQaTtayRrsx7GL6oXp/m2Jw==", + "requires": { + "deepmerge": "^4.2.2" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + } + } + }, + "vue-router": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1617697843139&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz", + "integrity": "sha1-7fPPSQeVLR4Fg+B5I3Igxf9utsk=" + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.3.tgz", + "integrity": "sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-template-compiler": { + "version": "2.6.12", + "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz", + "integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", + "dev": true + }, + "vuex": { + "version": "3.6.2", + "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.6.2.tgz", + "integrity": "sha1-I2vAhqhww655lG8QfxbeWdWJXnE=" + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz?cache=0&sync_timestamp=1612715916777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.5.tgz", + "integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989063099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz", + "integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz?cache=0&sync_timestamp=1598237815612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.46.0.tgz", + "integrity": "sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + } + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.5.1.tgz?cache=0&sync_timestamp=1595813319118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-6.5.1.tgz", + "integrity": "sha1-TycoTLu2N+PI+970Pu9YjU2GEgY=", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1610718943859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz", + "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz?cache=0&sync_timestamp=1617728097691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.2.tgz", + "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603922099064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1604880226973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169872380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz?cache=0&sync_timestamp=1598237815612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1615404893185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz", + "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965361668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&sync_timestamp=1591288600527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz", + "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", + "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz?cache=0&sync_timestamp=1614855292663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich-boxed-primitive%2Fdownload%2Fwhich-boxed-primitive-1.0.2.tgz", + "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", + "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz", + "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz?cache=0&sync_timestamp=1604880226973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz?cache=0&sync_timestamp=1615404893185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.7.tgz", + "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", + "dev": true + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz", + "integrity": "sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&sync_timestamp=1598867150563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1606971061972&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427606170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + } + } +} diff --git a/key4intranet.front/package.json b/key4intranet.front/package.json new file mode 100644 index 0000000..3da9974 --- /dev/null +++ b/key4intranet.front/package.json @@ -0,0 +1,62 @@ +{ + "name": "key4intranet.front", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.35", + "@fortawesome/free-solid-svg-icons": "^5.15.3", + "bootstrap-vue": "^2.17.3", + "core-js": "^3.6.5", + "js-file-download": "^0.4.12", + "react": "^17.0.2", + "vue": "^2.6.12", + "vue-meta": "^2.4.0", + "vue-router": "^3.2.0", + "vuex": "^3.4.0" + }, + "devDependencies": { + "@babel/polyfill": "^7.11.5", + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-plugin-router": "^4.5.12", + "@vue/cli-plugin-vuex": "^4.5.12", + "@vue/cli-service": "~4.5.0", + "axios": "^0.21.1", + "babel-eslint": "^10.1.0", + "bootstrap": "^4.5.2", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.2.2", + "mutationobserver-shim": "^0.3.7", + "popper.js": "^1.16.1", + "portal-vue": "^2.1.7", + "sass": "^1.26.11", + "sass-loader": "^10.0.2", + "vue-cli-plugin-axios": "0.0.4", + "vue-cli-plugin-bootstrap-vue": "^0.7.0", + "vue-template-compiler": "^2.6.11" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/key4intranet.front/public/assets/css/additionalStyles.css b/key4intranet.front/public/assets/css/additionalStyles.css new file mode 100644 index 0000000..9e955b4 --- /dev/null +++ b/key4intranet.front/public/assets/css/additionalStyles.css @@ -0,0 +1,320 @@ +i.sidebarIcons { + /* class created to use and style font awesome's icons same as k4's svg library (../images/sprites.svg) */ + position: absolute; + left: 24px; + font-size: 30px; + transition: all 0.15s ease; + display: inline-block; + z-index: 1; +} + +div#title { + /*apply a little wide spece at the bottom of the div with the "title" id*/ + margin: 0px 0px 20px 0px; +} + + +/*For reduced menu*/ + +i.ifhidden { + color: transparent; + transition: all 0.15s ease; +} + +@media (min-width: 992px) { + /*For active buttons on the menus*/ + body.esp-cl.reduced-menu-left nav.menu-left a#active i { + color: #fff !important; + } + /*For inactive buttons on the menus*/ + body.esp-cl.reduced-menu-left nav.menu-left a.text-original i, + body.esp-cl.reduced-menu-left nav.menu-left a.text-truncate i { + color: #2c4698 !important; + } + /*For inactive buttons on the menus*/ + body.esp-cl.reduced-menu-left nav.menu-left a.text-original i.ifhidden, + body.esp-cl.reduced-menu-left nav.menu-left a.text-truncate i.ifhidden { + color: #2c4698 !important; + transition: all 0.15s ease; + } + /*When the menu is reduced, it replace the arrow by another fa-icon*/ + body.esp-cl.reduced-menu-left nav.menu-left a.text-original i.little, + body.esp-cl.reduced-menu-left nav.menu-left a.text-truncate i.little { + display: none; + } + body.esp-cl.reduced-menu-left nav.menu-left ul li a { + max-width: 80px; + padding: 1.45rem; + } +} + + +/*end of reduced menu*/ + + +/*for tiles*/ + +h3.section { + font-weight: bolder; +} + +h3.section, +h5.section { + color: #fff; + display: grid; + place-items: center; +} + +i.section { + color: #fff; + display: grid; + place-items: center; + font-size: 100px; + transition: all 0.15s ease; + margin-top: 10px; + margin-bottom: 20px; +} + +.sectionLine { + position: relative; + padding-bottom: 10px; +} + +.sectionLine::after { + display: grid; + position: absolute; + place-items: center; + content: ''; + z-index: 1; + bottom: 0; + width: 70%; + height: 2px; + background-color: rgba(255, 255, 255, 0.3); +} + +p.section { + text-align: center; +} + + +/*end of tiles*/ + + +/*for sub-menu*/ + +a.active#active { + color: #0000ff !important; +} + +li.submenu, +a.submenu { + max-height: 30px; +} + +body.esp-cl nav.menu-left ul li.submenu a:not(.bg-gradient)::before a.submenu:hover { + max-height: 30px; +} + +body.esp-cl nav.menu-left ul li.submenu a:not(.bg-gradient):hover::before { + width: 100%; + max-height: 30px; + margin-top: 14px; +} + +body.esp-cl nav.menu-left ul li.submenu a:not(.bg-gradient)::before { + width: 100%; + max-height: 30px; + margin-top: 14px; + box-shadow: 0 16px 30px rgb(0 0 0 / 0%) !important; +} + +body.esp-cl nav.menu-left ul li.submenu2 a:not(.bg-gradient)::before { + /*for 2 lines*/ + width: 100%; + max-height: 55px; + margin-top: 14px; + box-shadow: 0 16px 30px rgb(0 0 0 / 0%) !important; +} + + +/*end of sub-menu*/ + + +/*for boxes on each pages*/ + +@media (min-width: 1660px) { + /*2 triple sections*/ + body.esp-cl ul.tiles li.onlineLarge { + flex: 0 0 50%; + max-width: 50%; + } + body.esp-cl ul.tiles li.onsiteLarge { + flex: 0 0 50%; + max-width: 50%; + } + body.esp-cl ul.tiles li.onlineSoftware { + /*Software pages*/ + flex: 0 0 20%; + max-width: 20%; + } + body.esp-cl ul.tiles li.onsiteSoftware { + flex: 0 0 80%; + max-width: 80%; + } +} + +@media (min-width: 1660px) { + /*One single section*/ + body.esp-cl ul.tiles li.onlineSolo { + flex: 0 0 100%; + max-width: 100%; + } + body.esp-cl ul.tiles li.onsiteSolo { + flex: 0 0 100%; + max-width: 100%; + } +} + + +/*end of boxex*/ + + +/*tools & logo*/ + +div#logoContainer { + display: grid; + align-items: center; + justify-content: center; +} + +div.sectionLogo { + display: flex; + align-items: center; + justify-content: center; +} + +img.toolsLogo { + width: 200px; + transition: all 0.25s ease; + border-radius: 10%; + margin: 20px 20px 20px 20px; + opacity: 0.9; +} + +img.toolsLogo:hover { + transform: scale(1.15); + transition: all 0.25s ease; + border-radius: 10%; + margin: 15px 15px 15px 15px; + box-shadow: 0 0 10px 5px rgba(11, 60, 110, 0.5); + opacity: 1; +} + +div.logoContainer { + color: #0b3c6e; +} + +div.logoContainer span { + position: absolute; + margin-top: 6.5rem; + margin-left: -9%; + padding: .3rem; + text-align: center; + color: #000; + box-shadow: 10px 10px 5px rgba(136, 136, 136, 0.336); + border: 1px; + border-radius: 15px; + background: radial-gradient(0px 0px, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7)); + transform: scale(0) rotate(-15deg); + transition: all .3s; + opacity: 0; +} + +div.logoContainer:hover span, +div.logoContainer:focus span { + transform: scale(1); + opacity: 1; +} + +a.softwareLink { + text-decoration: none; +} + + +/*end of tools and logo*/ + + +/*For /tools/softwareName.html */ + +img.softwareLogo { + border-radius: 10%; +} + +@media (min-width: 1701px) { + /*One single section*/ + img.softwareLogo { + width: 100%; + } +} + +@media (max-width: 1700px) { + /*One single section*/ + img.softwareLogo { + width: 20%; + } +} + +@media (max-width: 1440px) { + /*One single section*/ + img.softwareLogo { + width: 20%; + } +} + +@media (max-width: 990px) { + /*One single section*/ + img.softwareLogo { + width: 20%; + } +} + +h3.software, +h5.software { + color: #000; +} + +.softwareLine { + position: relative; + padding-bottom: 10px; +} + +.softwareLine::after { + display: grid; + position: absolute; + place-items: center; + content: ''; + z-index: 1; + bottom: 0; + width: 90%; + height: 2px; + background-color: rgba(34, 34, 34, 0.3); +} + + +/* End of /tools/softwareName.html */ + + +/* for profile type in
*/ + +img.namePP { + width: 28px; + margin-right: 5px; + border-radius: 50%; +} + +span#WorkerName { + color: #2f85b3 !important; +} + + +/* end for profile type in
*/ \ No newline at end of file diff --git a/key4intranet.front/public/assets/css/bootstrap-select.key4.css b/key4intranet.front/public/assets/css/bootstrap-select.key4.css new file mode 100644 index 0000000..a6e1bbc --- /dev/null +++ b/key4intranet.front/public/assets/css/bootstrap-select.key4.css @@ -0,0 +1,652 @@ +@charset "UTF-8"; +@keyframes bs-notify-fadeOut { + 0% { + opacity: 0.9; + } + 100% { + opacity: 0; + } +} + +select.bs-select-hidden, +.bootstrap-select>select.bs-select-hidden, +select.selectpicker { + display: none !important; +} + +.bootstrap-select { + width: 220px \0; + /*IE9 and below*/ + vertical-align: middle; +} + +.bootstrap-select>.dropdown-toggle { + position: relative; + width: 100%; + text-align: right; + white-space: nowrap; + display: inline-flex; + align-items: center; + justify-content: space-between; +} + +.bootstrap-select>.dropdown-toggle:after { + margin-top: -1px; +} + +.bootstrap-select>.dropdown-toggle.bs-placeholder, +.bootstrap-select>.dropdown-toggle.bs-placeholder:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder:active { + color: #999; +} + +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:active, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:active, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:active, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:active, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:active, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:hover, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:focus, +.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:active { + color: rgba(255, 255, 255, 0.5); +} + +.bootstrap-select>select { + position: absolute !important; + bottom: 0; + left: 50%; + display: block !important; + width: 0.5px !important; + height: 100% !important; + padding: 0 !important; + opacity: 0 !important; + border: none; + z-index: 0 !important; +} + +.bootstrap-select>select.mobile-device { + top: 0; + left: 0; + display: block !important; + width: 100% !important; + z-index: 2 !important; +} + +.has-error .bootstrap-select .dropdown-toggle, +.error .bootstrap-select .dropdown-toggle, +.bootstrap-select.is-invalid .dropdown-toggle, +.was-validated .bootstrap-select select:invalid+.dropdown-toggle { + border-color: #b94a48; +} + +.bootstrap-select.is-valid .dropdown-toggle, +.was-validated .bootstrap-select select:valid+.dropdown-toggle { + border-color: #28a745; +} + +.bootstrap-select.fit-width { + width: auto !important; +} + +.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: 220px; +} + +.bootstrap-select>select.mobile-device:focus+.dropdown-toggle, +.bootstrap-select .dropdown-toggle:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; +} + +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; + height: auto; +} + +:not(.input-group)>.bootstrap-select.form-control:not([class*="col-"]) { + width: 100%; +} + +.bootstrap-select.form-control.input-group-btn { + float: none; + z-index: auto; +} + +.form-inline .bootstrap-select, +.form-inline .bootstrap-select.form-control:not([class*="col-"]) { + width: auto; +} + +.bootstrap-select:not(.input-group-btn), +.bootstrap-select[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; +} + +.bootstrap-select.dropdown-menu-right, +.bootstrap-select[class*="col-"].dropdown-menu-right, +.row .bootstrap-select[class*="col-"].dropdown-menu-right { + float: right; +} + +.form-inline .bootstrap-select, +.form-horizontal .bootstrap-select, +.form-group .bootstrap-select { + margin-bottom: 0; +} + +.form-group-lg .bootstrap-select.form-control, +.form-group-sm .bootstrap-select.form-control { + padding: 0; +} + +.form-group-lg .bootstrap-select.form-control .dropdown-toggle, +.form-group-sm .bootstrap-select.form-control .dropdown-toggle { + height: 100%; + font-size: inherit; + line-height: inherit; + border-radius: inherit; +} + +.bootstrap-select.form-control-sm .dropdown-toggle, +.bootstrap-select.form-control-lg .dropdown-toggle { + font-size: inherit; + line-height: inherit; + border-radius: inherit; +} + +.bootstrap-select.form-control-sm .dropdown-toggle { + padding: 0.25rem 0.5rem; +} + +.bootstrap-select.form-control-lg .dropdown-toggle { + padding: 0.5rem 1rem; +} + +.form-inline .bootstrap-select .form-control { + width: 100%; +} + +.bootstrap-select.disabled, +.bootstrap-select>.disabled { + cursor: not-allowed; +} + +.bootstrap-select.disabled:focus, +.bootstrap-select>.disabled:focus { + outline: none !important; +} + +.bootstrap-select.bs-container { + position: absolute; + top: 0; + left: 0; + height: 0 !important; + padding: 0 !important; +} + +.bootstrap-select.bs-container .dropdown-menu { + z-index: 1060; +} + +.bootstrap-select .dropdown-toggle .filter-option { + position: static; + top: 0; + left: 0; + float: left; + height: 100%; + width: 100%; + text-align: left; + overflow: hidden; + flex: 0 1 auto; +} + +.bs3.bootstrap-select .dropdown-toggle .filter-option { + padding-right: inherit; +} + +.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option { + position: absolute; + padding-top: inherit; + padding-bottom: inherit; + padding-left: inherit; + float: none; +} + +.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner { + padding-right: inherit; +} + +.bootstrap-select .dropdown-toggle .filter-option-inner-inner { + overflow: hidden; +} + +.bootstrap-select .dropdown-toggle .filter-expand { + width: 0 !important; + float: left; + opacity: 0 !important; + overflow: hidden; +} + +.bootstrap-select .dropdown-toggle .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; +} + +.input-group .bootstrap-select.form-control .dropdown-toggle { + border-radius: inherit; +} + +.bootstrap-select[class*="col-"] .dropdown-toggle { + width: 100%; +} + +.bootstrap-select .dropdown-menu { + min-width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.bootstrap-select .dropdown-menu>.inner:focus { + outline: none !important; +} + +.bootstrap-select .dropdown-menu.inner { + position: static; + float: none; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + box-shadow: none; +} + +.bootstrap-select .dropdown-menu li { + position: relative; +} + +.bootstrap-select .dropdown-menu li.active small { + color: rgba(255, 255, 255, 0.5) !important; +} + +.bootstrap-select .dropdown-menu li.disabled a { + cursor: not-allowed; +} + +.bootstrap-select .dropdown-menu li a { + cursor: pointer; + user-select: none; +} + +.bootstrap-select .dropdown-menu li a.opt { + position: relative; + padding-left: 2.25em; +} + +.bootstrap-select .dropdown-menu li a span.check-mark { + display: none; +} + +.bootstrap-select .dropdown-menu li a span.text { + display: inline-block; +} + +.bootstrap-select .dropdown-menu li small { + padding-left: 0.5em; +} + +.bootstrap-select .dropdown-menu .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: whitesmoke; + border: 1px solid #e3e3e3; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + pointer-events: none; + opacity: 0.9; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.bootstrap-select .dropdown-menu .notify.fadeOut { + animation: 300ms linear 750ms forwards bs-notify-fadeOut; +} + +.bootstrap-select .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; + white-space: nowrap; +} + +.bootstrap-select.fit-width .dropdown-toggle .filter-option { + position: static; + display: inline; + padding: 0; +} + +.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner, +.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner { + display: inline; +} + +.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before { + content: '\00a0'; +} + +.bootstrap-select.fit-width .dropdown-toggle .caret { + position: static; + top: auto; + margin-top: -1px; +} + +.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + top: 5px; +} + +.bootstrap-select.show-tick .dropdown-menu li a span.text { + margin-right: 34px; +} + +.bootstrap-select .bs-ok-default:after { + content: ''; + display: block; + width: 0.5em; + height: 1em; + border-style: solid; + border-width: 0 0.26em 0.26em 0; + transform: rotate(45deg); +} + +.bootstrap-select.show-menu-arrow.open>.dropdown-toggle, +.bootstrap-select.show-menu-arrow.show>.dropdown-toggle { + z-index: 1061; +} + +.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid rgba(204, 204, 204, 0.2); + position: absolute; + bottom: -4px; + left: 9px; + display: none; +} + +.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; +} + +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before { + bottom: auto; + top: -4px; + border-top: 7px solid rgba(204, 204, 204, 0.2); + border-bottom: 0; +} + +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after { + bottom: auto; + top: -4px; + border-top: 6px solid white; + border-bottom: 0; +} + +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before { + right: 12px; + left: auto; +} + +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after { + right: 13px; + left: auto; +} + +.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:before, +.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:after, +.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:before, +.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:after { + display: block; +} + +.bs-searchbox, +.bs-actionsbox, +.bs-donebutton { + padding: 4px 8px; +} + +.bs-actionsbox { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.bs-actionsbox .btn-group button { + width: 50%; +} + +.bs-donebutton { + float: left; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.bs-donebutton .btn-group button { + width: 100%; +} + +.bs-searchbox+.bs-actionsbox { + padding: 0 8px 4px; +} + +.bs-searchbox .form-control { + margin-bottom: 0; + width: 100%; + float: none; +} + +.bs-searchbox::after { + display: block; + position: absolute; + content: '\f002'; + top: 16px; + right: 12px; + width: 30px; + height: 30px; + text-align: center; + font-family: 'Font Awesome 5 Pro'; + font-weight: 400; + font-size: 1.3rem; + opacity: .25; +} + +select.bs-select { + max-width: 100%; + overflow: hidden; +} + +.bootstrap-select { + height: auto !important; + padding-right: 0 !important; + box-shadow: none; +} + +.bootstrap-select.is-invalid, +.bootstrap-select.is-valid { + background-position: right calc(2.4em + 0.1875rem) center !important; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important; +} + +.input-group .bootstrap-select.is-invalid, +.input-group .bootstrap-select.is-valid { + background-position: right calc(4em + 0.1875rem) center !important; +} + +.bootstrap-select.is-invalid.custom-select-sm, +.bootstrap-select.is-valid.custom-select-sm { + background-size: calc(0.5em + 0.375rem) calc(0.5em + 0.375rem) !important; +} + +.input-group .bootstrap-select.is-invalid.custom-select-sm, +.input-group .bootstrap-select.is-valid.custom-select-sm { + background-position: right calc(3.4em + 0.1875rem) center !important; +} + +.bootstrap-select.is-invalid.custom-select-lg, +.bootstrap-select.is-valid.custom-select-lg { + background-size: calc(1em + 0.375rem) calc(1em + 0.375rem) !important; +} + +.input-group .bootstrap-select.is-invalid.custom-select-lg, +.input-group .bootstrap-select.is-valid.custom-select-lg { + background-position: right calc(4.4em + 0.1875rem) center !important; +} + +.bootstrap-select.is-invalid .dropdown-toggle, +.bootstrap-select.is-valid .dropdown-toggle { + background-color: transparent; +} + +.bootstrap-select+a { + z-index: 1; +} + +.bootstrap-select>select.mobile-device:focus+.dropdown-toggle, +.bootstrap-select .dropdown-toggle:focus { + outline: 0 !important; + overflow: hidden; +} + +.bootstrap-select>.dropdown-toggle::after { + display: none; +} + +.bootstrap-select>.dropdown-toggle .filter-option-inner-inner { + max-height: 1.6rem; + white-space: pre-wrap; +} + +.bootstrap-select.custom-select-sm>.dropdown-toggle { + font-size: .855rem !important; + line-height: 1.6rem; +} + +.bootstrap-select.custom-select-lg>.dropdown-toggle { + font-size: 1.15rem !important; +} + +.bootstrap-select .dropdown-menu { + z-index: 10000; + border: 0; +} + +.bootstrap-select .dropdown-menu li a { + max-width: 95vw; + padding: .35rem 1.5rem; + white-space: initial; +} + +.bootstrap-select .dropdown-menu li a .icon { + width: 24px; +} + +.bootstrap-select .dropdown-menu li a .text { + color: black !important; +} + +.bootstrap-select .dropdown-menu li a:active .text { + color: white !important; +} + +.bootstrap-select .dropdown-menu li.selected a, +.bootstrap-select .dropdown-menu li.selected a .text, +.bootstrap-select .dropdown-menu li.active a, +.bootstrap-select .dropdown-menu li.active a .text { + color: white !important; +} + +.bootstrap-select .dropdown-menu li.disabled { + opacity: .6; +} + +.bootstrap-select.custom-select-sm, +.bootstrap-select.custom-select-lg { + height: inherit; + padding: inherit; + font-size: inherit; +} + +.bootstrap-select.custom-select-sm .custom-select { + height: calc(1.5em + .8rem + 2px); + padding-top: .4rem; + padding-bottom: .4rem; + padding-left: 1.05rem; + font-size: .8em; +} + +.bootstrap-select.custom-select-sm .dropdown-menu { + font-size: .855rem; +} + +.bootstrap-select.custom-select-lg .custom-select { + height: calc(2.5em + .56rem + 2px); + padding-top: .28rem; + padding-bottom: .28rem; + padding-left: 1.7rem; + font-size: 1.15em; +} + +.bootstrap-select.disabled .dropdown-toggle, +.bootstrap-select>.disabled .dropdown-toggle { + color: #6c757d; + background-color: #e9ecef; + box-shadow: none; +} + +.bootstrap-select[class*="col-"] { + padding-left: 0; + padding-right: 0; +} \ No newline at end of file diff --git a/key4intranet.front/public/assets/css/bootstrap.key4.css b/key4intranet.front/public/assets/css/bootstrap.key4.css new file mode 100644 index 0000000..2a65937 --- /dev/null +++ b/key4intranet.front/public/assets/css/bootstrap.key4.css @@ -0,0 +1,11260 @@ +@charset "UTF-8"; +/* + ============================================================================================== + --------------------------| |-------------------------- + --------------------------| CSS / Key4events 2020 |-------------------------- + --------------------------| Thème Bootstrap |-------------------------- + --------------------------| |-------------------------- + ============================================================================================== +*/ +/* + ============================================================================================== + --------------------------| |-------------------------- + --------------------------| CSS / Key4events 2020 |-------------------------- + --------------------------| Variables et mixins |-------------------------- + --------------------------| |-------------------------- + ============================================================================================== +*/ +/* -------------------- Typographies -------------------- */ +/* -------------------- Transitions -------------------- */ +/* -------------------- Mixins -------------------- */ +/* Modification KWW début */ +/* Modification KWW fin */ +/* Modifs KWW début */ +/* Modifs KWW fin */ +/* -------------------- Breakpoints -------------------- */ +/* -------------------- Spacers -------------------- */ +/* -------------------- Teintes -------------------- */ +.text-blue { + color: #3e64c1 !important; +} + +.bg-blue { + background-color: #3e64c1 !important; +} + +a.bg-blue:hover { + background-color: #385aae !important; +} + +.text-indigo { + color: #743ad2 !important; +} + +.bg-indigo { + background-color: #743ad2 !important; +} + +a.bg-indigo:hover { + background-color: #672dc5 !important; +} + +.text-purple { + color: #9b369b !important; +} + +.bg-purple { + background-color: #9b369b !important; +} + +a.bg-purple:hover { + background-color: #882f88 !important; +} + +.text-pink { + color: #e83e8c !important; +} + +.bg-pink { + background-color: #e83e8c !important; +} + +a.bg-pink:hover { + background-color: #e5277e !important; +} + +.text-red { + color: #e8192c !important; +} + +.bg-red { + background-color: #e8192c !important; +} + +a.bg-red:hover { + background-color: #d21526 !important; +} + +.text-orange { + color: #ff6000 !important; +} + +.bg-orange { + background-color: #ff6000 !important; +} + +a.bg-orange:hover { + background-color: #e65600 !important; +} + +.text-yellow { + color: #f5ba1b !important; +} + +.bg-yellow { + background-color: #f5ba1b !important; +} + +a.bg-yellow:hover { + background-color: #ecaf0a !important; +} + +.text-green { + color: #409c6a !important; +} + +.bg-green { + background-color: #409c6a !important; +} + +a.bg-green:hover { + background-color: #398a5e !important; +} + +.text-teal { + color: #0eb7a9 !important; +} + +.bg-teal { + background-color: #0eb7a9 !important; +} + +a.bg-teal:hover { + background-color: #0c9f93 !important; +} + +.text-cyan { + color: #0088db !important; +} + +.bg-cyan { + background-color: #0088db !important; +} + +a.bg-cyan:hover { + background-color: #0078c2 !important; +} + +.text-cyan-light { + color: #88cef6 !important; +} + +.bg-cyan-light { + background-color: #88cef6 !important; +} + +a.bg-cyan-light:hover { + background-color: #70c4f4 !important; +} + +.text-skyblue { + color: #2f85b3 !important; +} + +.bg-skyblue { + background-color: #2f85b3 !important; +} + +a.bg-skyblue:hover { + background-color: #2a769f !important; +} + +.text-skyblue-medium { + color: #6daed4 !important; +} + +.bg-skyblue-medium { + background-color: #6daed4 !important; +} + +a.bg-skyblue-medium:hover { + background-color: #59a3ce !important; +} + +.text-skyblue-light { + color: #cbe5f4 !important; +} + +.bg-skyblue-light { + background-color: #cbe5f4 !important; +} + +a.bg-skyblue-light:hover { + background-color: #b6daf0 !important; +} + +.text-nightblue { + color: #264c95 !important; +} + +.bg-nightblue { + background-color: #264c95 !important; +} + +a.bg-nightblue:hover { + background-color: #214281 !important; +} + +.text-primary-dark { + color: #0b3c6e !important; +} + +.bg-primary-dark { + background-color: #0b3c6e !important; +} + +a.bg-primary-dark:hover { + background-color: #092f57 !important; +} + +.text-white { + color: #fff !important; +} + +.bg-white { + background-color: #fff !important; +} + +a.bg-white:hover { + background-color: #f2f2f2 !important; +} + +.text-black { + color: #000 !important; +} + +.bg-black { + background-color: #000 !important; +} + +a.bg-black:hover { + background-color: black !important; +} + +.text-gray-light { + color: #ced4da !important; +} + +.bg-gray-light { + background-color: #ced4da !important; +} + +a.bg-gray-light:hover { + background-color: #bfc7cf !important; +} + +.text-gray { + color: #6c757d !important; +} + +.bg-gray { + background-color: #6c757d !important; +} + +a.bg-gray:hover { + background-color: #60686f !important; +} + +.text-gray-dark { + color: #343a40 !important; +} + +.bg-gray-dark { + background-color: #343a40 !important; +} + +a.bg-gray-dark:hover { + background-color: #292d32 !important; +} + +.text-original { + color: #2c4698 !important; +} + +.bg-original { + background-color: #2c4698 !important; +} + +a.bg-original:hover { + background-color: #263d84 !important; +} + +/* -------------------- Ombres -------------------- */ +/* -------------------- Container -------------------- */ +.container { + position: relative; + z-index: 1; +} + +/* -------------------- Card -------------------- */ +.card { + border: 0 !important; + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08); +} + +/* -------------------- Réglages globaux -------------------- */ +/* -------------------- Titres -------------------- */ +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + color: var(--primary); + text-transform: uppercase; + letter-spacing: .02em; +} + +h5, h6, +.h5, .h6 { + letter-spacing: 0; +} + +h6, .h6 { + font-family: "Arquitecta-regular", Sans-serif !important; + color: #212529; +} + +subtitle { + font-family: "Arquitecta-regular", Sans-serif; + color: #6c757d; + font-size: 1.6rem; + line-height: 1.1em; +} + +body.erp subtitle { + font-size: 1.2rem; +} + +/* -------------------- Inputs -------------------- */ +.input-group .input-group-text { + padding: 0 .7em !important; +} + +.input-group.input-group-icon .icon { + display: flex; + z-index: 4; + width: 0; + min-width: 0; + height: 0; + min-height: 0; + opacity: .25; + transition: all 0.3s ease; +} + +.input-group.input-group-icon .icon > svg { + position: relative; + top: .2em; + left: .25em; + width: 30px; + height: 30px; + overflow: visible; +} + +.input-group.input-group-icon .icon > svg use { + stroke-width: 2px; +} + +.input-group.input-group-icon .icon::before { + position: relative; + margin-top: calc(1.1em - .55rem); + width: 100%; + height: 100%; + text-align: center; + font-size: 1.2rem; +} + +.input-group.input-group-icon.input-group-sm .icon > svg { + top: .15em; + left: .15em; + width: 26px; + height: 26px; +} + +.input-group.input-group-icon.input-group-sm .icon::before { + font-size: 1rem; +} + +.input-group.input-group-icon.input-group-lg .icon > svg { + top: .5em; + left: .4em; + width: 36px; + height: 36px; +} + +.input-group.input-group-icon.input-group-lg .icon::before { + font-size: 1.4rem; +} + +.input-group.input-group-icon.icon-left .icon::before { + left: .65em; +} + +.input-group.input-group-icon.icon-left .form-control { + padding-left: calc(1.15rem + 17px); +} + +.input-group.input-group-icon.icon-right .icon > svg { + left: -2.3em; +} + +.input-group.input-group-icon.icon-right .icon::before { + left: -1.6em; +} + +.input-group.input-group-icon.icon-right.input-group-sm .icon > svg { + left: -2em; +} + +.input-group.input-group-icon.icon-right.input-group-lg .icon > svg { + left: -2.8em; +} + +.input-group.input-group-icon.icon-right .form-control { + padding-right: calc(1.15rem + 17px); +} + +.input-group.input-group-icon.icon-right .was-validated .form-control:valid, +.input-group.input-group-icon.icon-right .form-control.is-valid, +.input-group.input-group-icon.icon-right .was-validated .form-control:invalid, +.input-group.input-group-icon.icon-right .form-control.is-invalid { + background-position-x: calc(100% - 2.15em); + padding-right: 3.5em; +} + +.input-group.input-group-icon .form-control:focus + .icon, +.input-group.input-group-icon .form-control:focus + div + .icon { + opacity: .6; +} + +.input-group.input-group-sm.icon-left .form-control { + padding-left: calc(1.05rem + 13px); +} + +.input-group.input-group-sm.icon-right .form-control { + padding-right: calc(1.05rem + 13px); +} + +.input-group.input-group-lg.icon-left .form-control { + padding-left: calc(1.7rem + 22px); +} + +.input-group.input-group-lg.icon-right .form-control { + padding-right: calc(1.7rem + 22px); +} + +.form-group { + margin: 1px; + transition: all 0.3s ease; +} + +.form-group:focus { + z-index: 1; +} + +.form-control, +.custom-select { + border-radius: 0.001rem !important; + /* transition: $anim-600ms !important; */ +} + +.form-control:disabled, .form-control[readonly], +.custom-select:disabled, +.custom-select[readonly] { + box-shadow: none !important; +} + +.was-validated .form-control:valid, +.form-control.is-valid { + box-shadow: 0 0 0 0.2rem rgba(116, 190, 75, 0.3), 0 16px 44px rgba(0, 0, 0, 0.06) !important; +} + +.was-validated .form-control:valid:focus, +.form-control.is-valid:focus { + box-shadow: 0 0 0 0.2rem rgba(116, 190, 75, 0.6), 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1) !important; +} + +.was-validated .form-control:invalid, +.form-control.is-invalid { + box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.3), 0 16px 44px rgba(0, 0, 0, 0.06) !important; +} + +.was-validated .form-control:invalid:focus, +.form-control.is-invalid:focus { + box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.6), 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1) !important; +} + +form.bg-white .form-control { + background-color: #f7f7f7; +} + +form.bg-white .form-control:not(:focus) { + box-shadow: none; +} + +/* -------------------- Selects -------------------- */ +select:invalid, +select option[value=""] { + color: #bfc7cf; +} + +select option:not([value=""]) { + color: #495057; +} + +.custom-select { + padding-right: 2.8em !important; + -webkit-appearance: none; + -moz-appearance: none; +} + +.custom-select:not(.custom-select-lg) { + background-size: .85rem !important; +} + +.custom-select:focus { + z-index: 1; +} + +.input-group .custom-select { + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='9px' viewBox='0 0 16 9'%3e%3cpolyline fill='none' stroke='%23bbc2c8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='14.596,1.244 8.024,7.817 1.451,1.244 '/%3e%3c/svg%3e") no-repeat right 2.5rem center/16px 9px; +} + +/* .input-group { */ +.custom-select-sm, +.custom-select-sm + .dropdown-toggle { + /*border: 1px solid black !important;*/ + background-size: .85rem !important; + /* background: $white escape-svg($custom-select-indicator) no-repeat right 2rem center / .85rem; */ +} + +.input-group .custom-select-sm, .input-group +.custom-select-sm + .dropdown-toggle { + background-position: right 2rem center; +} + +.custom-select-lg, +.custom-select-lg + .dropdown-toggle { + /*border: 1px solid black !important;*/ + background-size: 16px 9px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important; + /* background: $white escape-svg($custom-select-indicator) no-repeat right 3rem center / $custom-select-bg-size; */ +} + +.input-group .custom-select-lg, .input-group +.custom-select-lg + .dropdown-toggle { + background-position: right 3rem center; +} + +/* } */ +.was-validated .custom-select:invalid, +.was-validated .custom-select:valid, +.custom-select.is-invalid, +.custom-select.is-valid { + background-position: right .85rem center, center right 2.25rem !important; +} + +.was-validated .custom-select:invalid:not(.custom-select-lg), +.was-validated .custom-select:valid:not(.custom-select-lg), +.custom-select.is-invalid:not(.custom-select-lg), +.custom-select.is-valid:not(.custom-select-lg) { + background-size: .85rem, 1rem !important; +} + +.input-group .was-validated .custom-select:invalid, .input-group +.was-validated .custom-select:valid, .input-group +.custom-select.is-invalid, .input-group +.custom-select.is-valid { + background-position: right 2.5rem center, center right 4rem !important; +} + +.input-group .was-validated .custom-select:invalid.custom-select-sm, .input-group +.was-validated .custom-select:valid.custom-select-sm, .input-group +.custom-select.is-invalid.custom-select-sm, .input-group +.custom-select.is-valid.custom-select-sm { + background-position: right 2rem center, center right 3.5rem !important; +} + +.input-group .was-validated .custom-select:invalid.custom-select-lg, .input-group +.was-validated .custom-select:valid.custom-select-lg, .input-group +.custom-select.is-invalid.custom-select-lg, .input-group +.custom-select.is-valid.custom-select-lg { + background-position: right 3rem center, center right 4.5rem !important; +} + +.was-validated select.form-control:invalid, +.was-validated select.form-control:valid, +select.form-control.is-invalid, +select.form-control.is-valid { + background-position-x: calc(100% - 18px); +} + +input[type="date"], input[type="time"] { + -webkit-appearance: none; +} + +/* -------------------- Checkboxes, radios & switches -------------------- */ +.custom-checkbox, +.custom-radio { + padding-left: 1.9em !important; + padding-bottom: .75em; +} + +.custom-checkbox.custom-control-sm, +.custom-radio.custom-control-sm { + padding-left: 1.75em !important; +} + +.custom-checkbox.custom-control-lg, +.custom-radio.custom-control-lg { + padding-left: 2.2em !important; +} + +.custom-checkbox .custom-control-label::before, .custom-checkbox .custom-control-label::after, +.custom-radio .custom-control-label::before, +.custom-radio .custom-control-label::after { + width: 19px !important; + height: 19px !important; + top: .1rem !important; + left: -2em !important; +} + +.custom-checkbox .custom-control-label::before, +.custom-radio .custom-control-label::before { + border: 2px solid #c6c6c6 !important; + box-shadow: 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +.custom-checkbox .custom-control-label::after, +.custom-radio .custom-control-label::after { + background-size: 100% !important; +} + +.custom-checkbox.custom-control-sm .custom-control-label::before, .custom-checkbox.custom-control-sm .custom-control-label::after, +.custom-radio.custom-control-sm .custom-control-label::before, +.custom-radio.custom-control-sm .custom-control-label::after { + top: 0 !important; + left: -2.2em !important; + width: 16px !important; + height: 16px !important; +} + +.custom-checkbox.custom-control-lg .custom-control-label::before, .custom-checkbox.custom-control-lg .custom-control-label::after, +.custom-radio.custom-control-lg .custom-control-label::before, +.custom-radio.custom-control-lg .custom-control-label::after { + top: .15em !important; + left: -1.9em !important; + width: 22px !important; + height: 22px !important; +} + +.custom-control-label { + font-size: .955em !important; +} + +.custom-control-sm .custom-control-label { + font-size: .8em !important; +} + +.custom-control-lg .custom-control-label { + font-size: 1.15em !important; +} + +.custom-control-input:checked ~ .custom-control-label::before { + border-color: #5a5a5a !important; + background-color: #5a5a5a !important; +} + +.custom-control-input:checked[disabled] ~ .custom-control-label::before, .custom-control-input:checked:disabled ~ .custom-control-label::before { + border-color: #aaa !important; + background-color: #aaa !important; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(62, 100, 193, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +.custom-switch { + padding-left: 2.8rem !important; +} + +.custom-switch .custom-control-input:focus ~ .custom-control-label::before { + border-color: transparent !important; +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + transform: translateX(0.95rem) !important; +} + +.custom-switch .custom-control-input[disabled] ~ .custom-control-label::before, .custom-switch .custom-control-input:disabled ~ .custom-control-label::before { + border: 0 !important; +} + +.custom-switch .custom-control-label { + cursor: pointer; +} + +.custom-switch .custom-control-label::before { + top: .2rem !important; + width: 2.2rem !important; + height: 1.3rem !important; + left: -2.8rem !important; + border: 2px solid #c6c6c6; + border-radius: .7rem !important; + background-color: #c6c6c6; + box-shadow: none; +} + +.custom-switch .custom-control-label::after { + top: calc(.2rem + 3px) !important; + left: calc(-2.8rem + 3px) !important; + width: calc(1rem - 2px) !important; + height: calc(1rem - 2px) !important; + background-color: #fff !important; +} + +.custom-switch.custom-control-sm { + padding-left: 2.5rem !important; +} + +.custom-switch.custom-control-sm .custom-control-input:checked ~ .custom-control-label::after { + transform: translateX(0.8rem) !important; +} + +.custom-switch.custom-control-sm .custom-control-label::before { + top: .1rem !important; + left: -2.5rem !important; + width: 1.9rem !important; + height: 1.1rem !important; + border-radius: .6rem !important; +} + +.custom-switch.custom-control-sm .custom-control-label::after { + top: calc(.1rem + 3px) !important; + left: calc(-2.5rem + 3px) !important; + width: calc(1rem - 4px) !important; + height: calc(1rem - 4px) !important; +} + +.custom-switch.custom-control-lg { + padding-left: 3.4rem !important; +} + +.custom-switch.custom-control-lg .custom-control-input:checked ~ .custom-control-label::after { + transform: translateX(1.2rem) !important; +} + +.custom-switch.custom-control-lg .custom-control-label::before { + left: -3.4rem !important; + width: 2.7rem !important; + height: 1.5rem !important; + border-radius: .8rem !important; +} + +.custom-switch.custom-control-lg .custom-control-label::after { + left: calc(-3.4rem + 3px) !important; + width: calc(1rem + 1px) !important; + height: calc(1rem + 1px) !important; +} + +.bootstrap-select .dropdown-item:active, .bootstrap-select .dropdown-item.active, .bootstrap-select .dropdown-item.selected { + background-color: #3e64c1 !important; + outline: none; +} + +/* -------------------- Textareas -------------------- */ +textarea.form-control { + padding-top: 1.15rem; + padding-bottom: 1.15rem; +} + +textarea.form-control.form-control-sm { + padding-top: 1.05rem; + padding-bottom: 1.05rem; +} + +textarea.form-control.form-control-lg { + padding-top: 1.7rem; + padding-bottom: 1.7rem; +} + +/* -------------------- Formulaire en lecture seule -------------------- */ +form.readonly .form-group { + margin-bottom: 0; +} + +form.readonly .form-group .form-control, +form.readonly .form-group .custom-select { + padding: 0; + background: none !important; + background-color: transparent !important; + box-shadow: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* -------------------- Boutons -------------------- */ +.btn { + text-transform: uppercase; + letter-spacing: .04em; + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important; +} + +.btn:hover { + box-shadow: 0 3px 12px rgba(0, 0, 0, 0.24) !important; +} + +.btn.bg-gradient { + background-blend-mode: overlay; + transition: all 0.3s ease !important; +} + +/* -------------------- Badges -------------------- */ +.badge { + font-family: "Arquitecta-heavy", Sans-serif; + text-transform: uppercase; + border-radius: .3rem; +} + +.badge.badge-sm { + padding-top: .43em; + padding-bottom: .37em; + font-size: .75rem; +} + +.badge.badge-lg { + font-size: 1.1rem; +} + +.badge.badge-pill { + border-radius: 10rem; +} + +/* -------------------- Tables -------------------- */ +.table th { + font-weight: normal; +} + +.table thead { + border: 2px solid #343a40; +} + +.table thead th, +.table thead td { + padding-top: 0.45rem !important; + padding-bottom: 0.45rem !important; + font-family: "Arquitecta-regular", Sans-serif; + font-size: 1.1rem; + text-transform: uppercase; + letter-spacing: .02em; + line-height: 1.2em; +} + +.table thead:not(.thead-dark), +.table tbody { + border: 2px solid #fff; +} + +.table.table-dark thead, +.table.table-dark tbody { + border: 2px solid #343a40; +} + +.table.table-hover tbody tr { + transition: all 0.15s ease; +} + +.table.table-hover tbody tr:hover { + cursor: pointer; +} + +.table.table-striped thead th, +.table.table-striped thead td, +.table.table-striped tbody th, +.table.table-striped tbody td { + border-top-color: transparent; + border-bottom-color: transparent; +} + +.table.table-sm td, +.table.table-sm th { + font-size: .9em; +} + +.table.table-lg td, +.table.table-lg th { + font-size: 1.1em; +} + +/* -------------------- Tooltips -------------------- */ +.tooltip { + z-index: 99999 !important; +} + +.tooltip .tooltip-inner { + border-radius: .3rem; +} + +.tooltip[x-placement="top"] { + margin-bottom: 6px; +} + +.tooltip[x-placement="bottom"] { + margin-top: 6px; +} + +.tooltip[x-placement="left"] { + margin-right: 6px; +} + +.tooltip[x-placement="right"] { + margin-left: 6px; +} + +.tooltip.input-help-sm { + left: -17px !important; +} + +.tooltip.input-help-md { + left: -20px !important; +} + +.tooltip.input-help-lg { + left: -22px !important; +} + +/* -------------------- Popovers -------------------- */ +.popover { + max-width: calc(100vw - 100px) !important; + max-height: calc(100vh - 100px); + /*&.bs-popover-top > .arrow, + &.bs-popover-auto[x-placement^="top"] > .arrow { + &::after { + border-top-color: rgba($gray-900, .94) !important; + } + }*/ +} + +.popover.danger { + background-color: rgba(232, 25, 44, 0.94) !important; +} + +.popover.danger.bs-popover-top > .arrow::after, .popover.danger.bs-popover-auto[x-placement^="top"] > .arrow::after, +.popover.danger.bs-popover-auto[x-placement^="top"] > .arrow::after { + border-top-color: rgba(232, 25, 44, 0.94) !important; +} + +.popover.danger.bs-popover-bottom > .arrow::after, .popover.danger.bs-popover-auto[x-placement^="bottom"] > .arrow::after, +.popover.danger.bs-popover-auto[x-placement^="bottom"] > .arrow::after { + border-bottom-color: rgba(232, 25, 44, 0.94) !important; +} + +.popover.danger.bs-popover-left > .arrow::after, .popover.danger.bs-popover-auto[x-placement^="left"] > .arrow::after, +.popover.danger.bs-popover-auto[x-placement^="left"] > .arrow::after { + border-left-color: rgba(232, 25, 44, 0.94) !important; +} + +.popover.danger.bs-popover-right > .arrow::after, .popover.danger.bs-popover-auto[x-placement^="right"] > .arrow::after, +.popover.danger.bs-popover-auto[x-placement^="right"] > .arrow::after { + border-right-color: rgba(232, 25, 44, 0.94) !important; +} + +.popover .arrow::before { + border: 0 !important; +} + +.popover .popover-header { + color: #495057; + font-size: 1em; + font-weight: bold; +} + +.popover .popover-body { + position: relative; + min-width: 50px; + max-height: calc(100vh - 135px); + min-height: 34px; + overflow-y: auto; +} + +html.isiPhone .popover { + max-height: calc(100vh - 140px); + margin-bottom: 40px; +} + +html.isiPhone .popover .popover-body { + max-height: calc(100vh - 175px); +} + +/* -------------------- Alerts -------------------- */ +/* -------------------- Navs -------------------- */ +/* -------------------- Breadcrumbs -------------------- */ +@media (max-width: 575px) { + .breadcrumb li:last-child { + display: none; + } +} + +/* -------------------- Progress bars -------------------- */ +.progress { + border-radius: 3px; +} + +/* -------------------- Modales -------------------- */ +.modal-content { + max-height: calc(95vh - 80px); + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.25) !important; +} + +.modal-content .modal-header { + padding: 1.3rem 1.3rem 1rem 1.3rem !important; +} + +.modal-content .modal-header .close { + margin: -1.3rem -1.3rem -1rem auto !important; +} + +.modal-content .modal-body { + height: 100%; + min-height: 50px; + overflow-y: auto; + padding: .5rem 1.5rem !important; + -webkit-overflow-scrolling: touch; +} + +.modal-content .modal-footer { + display: block; + /* padding: .5rem 1.3rem 1.3rem 1.3rem !important; */ + padding: 0; +} + +@media (min-width: 576px) { + .modal-full { + max-width: calc(100% - 60px) !important; + } +} + +/* -------------------- Pagination -------------------- */ +.pagination .page-item { + margin-left: 3px; + margin-right: 3px; +} + +.pagination .page-item .page-link { + min-width: 32px; + color: #fff; + font-family: "Arquitecta-bold", Sans-serif; + font-size: 1.1rem; + border-radius: 30px; + border: 0; + transition: all 0.3s ease; +} + +.pagination .page-item.prev a, .pagination .page-item.next a { + color: #3e64c1 !important; + background-color: transparent; +} + +.pagination .page-item.prev a:focus, .pagination .page-item.next a:focus { + box-shadow: none; +} + +.pagination .page-item.prev.disabled a, .pagination .page-item.next.disabled a { + color: #adb5bd !important; +} + +.pagination.pagination-sm .page-link { + min-width: 26px; + font-size: .925rem; +} + +.pagination.pagination-lg .page-link { + min-width: 47px; + font-size: 1.25rem; +} + +:root { + --blue: #3e64c1; + --indigo: #743ad2; + --purple: #9b369b; + --pink: #e83e8c; + --red: #e8192c; + --orange: #ff6000; + --yellow: #f5ba1b; + --green: #409c6a; + --teal: #0eb7a9; + --cyan: #0088db; + --cyan-light: #88cef6; + --skyblue: #2f85b3; + --skyblue-medium: #6daed4; + --skyblue-light: #cbe5f4; + --nightblue: #264c95; + --primary-dark: #0b3c6e; + --white: #fff; + --black: #000; + --gray-light: #ced4da; + --gray: #6c757d; + --gray-dark: #343a40; + --original: #2c4698; + --primary: #3e64c1; + --secondary: #333; + --success: #74be4b; + --info: #2ec3ea; + --warning: #ff6000; + --danger: #e8192c; + --skyblue: #2f85b3; + --white: #fff; + --light: #aaa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --breakpoint-xxl: 1440px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; +} + +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: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: var(--primary); + text-decoration: underline; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: none; +} + +a:not([href]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +@media (max-width: 1200px) { + legend { + font-size: calc(1.275rem + 0.3vw) ; + } +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-family: "Arquitecta-heavy", Sans-serif; + font-weight: 500; + line-height: 1.05; +} + +h1, .h1 { + font-size: 3.1rem; +} + +@media (max-width: 1200px) { + h1, .h1 { + font-size: calc(1.435rem + 2.22vw) ; + } +} + +h2, .h2 { + font-size: 2.7rem; +} + +@media (max-width: 1200px) { + h2, .h2 { + font-size: calc(1.395rem + 1.74vw) ; + } +} + +h3, .h3 { + font-size: 1.9rem; +} + +@media (max-width: 1200px) { + h3, .h3 { + font-size: calc(1.315rem + 0.78vw) ; + } +} + +h4, .h4 { + font-size: 1.4rem; +} + +@media (max-width: 1200px) { + h4, .h4 { + font-size: calc(1.265rem + 0.18vw) ; + } +} + +h5, .h5 { + font-size: 1.3rem; +} + +@media (max-width: 1200px) { + h5, .h5 { + font-size: calc(1.255rem + 0.06vw) ; + } +} + +h6, .h6 { + font-size: 1.1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +@media (max-width: 1200px) { + .display-1 { + font-size: calc(1.725rem + 5.7vw) ; + } +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +@media (max-width: 1200px) { + .display-2 { + font-size: calc(1.675rem + 5.1vw) ; + } +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +@media (max-width: 1200px) { + .display-3 { + font-size: calc(1.575rem + 3.9vw) ; + } +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +@media (max-width: 1200px) { + .display-4 { + font-size: calc(1.475rem + 2.7vw) ; + } +} + +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: 400; +} + +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: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; + box-shadow: none; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +@media (min-width: 1440px) { + .container { + max-width: 1380px; + } +} + +.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +@media (min-width: 1440px) { + .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { + max-width: 1380px; + } +} + +.row { + display: flex; + flex-wrap: wrap; + 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-auto, .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-sm-auto, .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-md-auto, .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-lg-auto, .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, +.col-xl-auto, .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xxl, +.col-xxl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + flex-grow: 1; + min-width: 0; + max-width: 100%; +} + +.row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; +} + +.row-cols-4 > * { + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; +} + +.col-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; +} + +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; +} + +.col-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; +} + +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; +} + +.col-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; +} + +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; +} + +.col-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; +} + +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + order: -1; +} + +.order-last { + order: 13; +} + +.order-0 { + order: 0; +} + +.order-1 { + order: 1; +} + +.order-2 { + order: 2; +} + +.order-3 { + order: 3; +} + +.order-4 { + order: 4; +} + +.order-5 { + order: 5; +} + +.order-6 { + order: 6; +} + +.order-7 { + order: 7; +} + +.order-8 { + order: 8; +} + +.order-9 { + order: 9; +} + +.order-10 { + order: 10; +} + +.order-11 { + order: 11; +} + +.order-12 { + order: 12; +} + +.offset-1 { + margin-left: 8.33333%; +} + +.offset-2 { + margin-left: 16.66667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333%; +} + +.offset-5 { + margin-left: 41.66667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333%; +} + +.offset-8 { + margin-left: 66.66667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333%; +} + +.offset-11 { + margin-left: 91.66667%; +} + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + min-width: 0; + max-width: 100%; + } + .row-cols-sm-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .row-cols-sm-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + .col-sm-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .col-sm-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + .col-sm-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + .col-sm-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + order: -1; + } + .order-sm-last { + order: 13; + } + .order-sm-0 { + order: 0; + } + .order-sm-1 { + order: 1; + } + .order-sm-2 { + order: 2; + } + .order-sm-3 { + order: 3; + } + .order-sm-4 { + order: 4; + } + .order-sm-5 { + order: 5; + } + .order-sm-6 { + order: 6; + } + .order-sm-7 { + order: 7; + } + .order-sm-8 { + order: 8; + } + .order-sm-9 { + order: 9; + } + .order-sm-10 { + order: 10; + } + .order-sm-11 { + order: 11; + } + .order-sm-12 { + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333%; + } + .offset-sm-2 { + margin-left: 16.66667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333%; + } + .offset-sm-5 { + margin-left: 41.66667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333%; + } + .offset-sm-8 { + margin-left: 66.66667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333%; + } + .offset-sm-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + min-width: 0; + max-width: 100%; + } + .row-cols-md-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .row-cols-md-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + .col-md-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .col-md-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + .col-md-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + .col-md-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + order: -1; + } + .order-md-last { + order: 13; + } + .order-md-0 { + order: 0; + } + .order-md-1 { + order: 1; + } + .order-md-2 { + order: 2; + } + .order-md-3 { + order: 3; + } + .order-md-4 { + order: 4; + } + .order-md-5 { + order: 5; + } + .order-md-6 { + order: 6; + } + .order-md-7 { + order: 7; + } + .order-md-8 { + order: 8; + } + .order-md-9 { + order: 9; + } + .order-md-10 { + order: 10; + } + .order-md-11 { + order: 11; + } + .order-md-12 { + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333%; + } + .offset-md-2 { + margin-left: 16.66667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333%; + } + .offset-md-5 { + margin-left: 41.66667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333%; + } + .offset-md-8 { + margin-left: 66.66667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333%; + } + .offset-md-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + min-width: 0; + max-width: 100%; + } + .row-cols-lg-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .row-cols-lg-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + .col-lg-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .col-lg-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + .col-lg-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + .col-lg-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + order: -1; + } + .order-lg-last { + order: 13; + } + .order-lg-0 { + order: 0; + } + .order-lg-1 { + order: 1; + } + .order-lg-2 { + order: 2; + } + .order-lg-3 { + order: 3; + } + .order-lg-4 { + order: 4; + } + .order-lg-5 { + order: 5; + } + .order-lg-6 { + order: 6; + } + .order-lg-7 { + order: 7; + } + .order-lg-8 { + order: 8; + } + .order-lg-9 { + order: 9; + } + .order-lg-10 { + order: 10; + } + .order-lg-11 { + order: 11; + } + .order-lg-12 { + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333%; + } + .offset-lg-2 { + margin-left: 16.66667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333%; + } + .offset-lg-5 { + margin-left: 41.66667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333%; + } + .offset-lg-8 { + margin-left: 66.66667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333%; + } + .offset-lg-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + min-width: 0; + max-width: 100%; + } + .row-cols-xl-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .row-cols-xl-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + .col-xl-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .col-xl-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + .col-xl-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + .col-xl-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + order: -1; + } + .order-xl-last { + order: 13; + } + .order-xl-0 { + order: 0; + } + .order-xl-1 { + order: 1; + } + .order-xl-2 { + order: 2; + } + .order-xl-3 { + order: 3; + } + .order-xl-4 { + order: 4; + } + .order-xl-5 { + order: 5; + } + .order-xl-6 { + order: 6; + } + .order-xl-7 { + order: 7; + } + .order-xl-8 { + order: 8; + } + .order-xl-9 { + order: 9; + } + .order-xl-10 { + order: 10; + } + .order-xl-11 { + order: 11; + } + .order-xl-12 { + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333%; + } + .offset-xl-2 { + margin-left: 16.66667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333%; + } + .offset-xl-5 { + margin-left: 41.66667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333%; + } + .offset-xl-8 { + margin-left: 66.66667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333%; + } + .offset-xl-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 1440px) { + .col-xxl { + flex-basis: 0; + flex-grow: 1; + min-width: 0; + max-width: 100%; + } + .row-cols-xxl-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xxl-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + .col-xxl-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + .col-xxl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xxl-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + .col-xxl-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + .col-xxl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xxl-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + .col-xxl-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + .col-xxl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xxl-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + .col-xxl-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + .col-xxl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xxl-first { + order: -1; + } + .order-xxl-last { + order: 13; + } + .order-xxl-0 { + order: 0; + } + .order-xxl-1 { + order: 1; + } + .order-xxl-2 { + order: 2; + } + .order-xxl-3 { + order: 3; + } + .order-xxl-4 { + order: 4; + } + .order-xxl-5 { + order: 5; + } + .order-xxl-6 { + order: 6; + } + .order-xxl-7 { + order: 7; + } + .order-xxl-8 { + order: 8; + } + .order-xxl-9 { + order: 9; + } + .order-xxl-10 { + order: 10; + } + .order-xxl-11 { + order: 11; + } + .order-xxl-12 { + order: 12; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333%; + } + .offset-xxl-2 { + margin-left: 16.66667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333%; + } + .offset-xxl-5 { + margin-left: 41.66667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333%; + } + .offset-xxl-8 { + margin-left: 66.66667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333%; + } + .offset-xxl-11 { + margin-left: 91.66667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; + background-color: #fff; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #e4e7ea; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #e4e7ea; +} + +.table tbody + tbody { + border-top: 2px solid #e4e7ea; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #e4e7ea; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #e4e7ea; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.03); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(52, 58, 64, 0.1); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #c9d4ee; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #9baedf; +} + +.table-hover .table-primary:hover { + background-color: #b6c5e8; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #b6c5e8; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #c6c6c6; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #959595; +} + +.table-hover .table-secondary:hover { + background-color: #b9b9b9; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #b9b9b9; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #d8edcd; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #b7dda1; +} + +.table-hover .table-success:hover { + background-color: #c9e6ba; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #c9e6ba; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #c4eef9; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #92e0f4; +} + +.table-hover .table-info:hover { + background-color: #ade7f7; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #ade7f7; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffd2b8; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffac7a; +} + +.table-hover .table-warning:hover { + background-color: #ffc29f; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffc29f; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f9bfc4; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #f38791; +} + +.table-hover .table-danger:hover { + background-color: #f7a8af; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f7a8af; +} + +.table-skyblue, +.table-skyblue > th, +.table-skyblue > td { + background-color: #c5ddea; +} + +.table-skyblue th, +.table-skyblue td, +.table-skyblue thead th, +.table-skyblue tbody + tbody { + border-color: #93c0d7; +} + +.table-hover .table-skyblue:hover { + background-color: #b2d2e3; +} + +.table-hover .table-skyblue:hover > td, +.table-hover .table-skyblue:hover > th { + background-color: #b2d2e3; +} + +.table-white, +.table-white > th, +.table-white > td { + background-color: white; +} + +.table-white th, +.table-white td, +.table-white thead th, +.table-white tbody + tbody { + border-color: white; +} + +.table-hover .table-white:hover { + background-color: #f2f2f2; +} + +.table-hover .table-white:hover > td, +.table-hover .table-white:hover > th { + background-color: #f2f2f2; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #e7e7e7; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: lightgray; +} + +.table-hover .table-light:hover { + background-color: #dadada; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #dadada; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.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 .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #4b545c; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #e4e7ea; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #4b545c; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.08); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.3); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +@media (max-width: 1439.98px) { + .table-responsive-xxl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xxl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1.15rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 0 solid #ced4da; + border-radius: 0; + box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1), 0 0 0 3px rgba(62, 100, 193, 0.3), 0 4px 18px rgba(62, 100, 193, 0.14); +} + +.form-control::placeholder { + color: #bfc7cf; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef !important; + opacity: 1; +} + +input[type="date"].form-control, +input[type="time"].form-control, +input[type="datetime-local"].form-control, +input[type="month"].form-control { + appearance: none; +} + +select.form-control:focus::-ms-value { + color: #212529; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: 0.28rem; + padding-bottom: 0.28rem; + font-size: 1.15rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: 0.4rem; + padding-bottom: 0.4rem; + font-size: 0.855rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.5rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 0 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.8rem + 2px); + padding: 0.4rem 1.05rem; + font-size: 0.855rem; + line-height: 1.5; +} + +.form-control-lg { + height: calc(2.5em + 0.56rem + 2px); + padding: 0.28rem 1.7rem; + font-size: 1.15rem; + line-height: 1.5; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.8rem; + font-size: 85%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, +.form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, +.form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='9px' viewBox='0 0 16 9'%3e%3cpolyline fill='none' stroke='%23bbc2c8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='14.596,1.244 8.024,7.817 1.451,1.244 '/%3e%3c/svg%3e") no-repeat right 1.15rem center/16px 9px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.8rem; + font-size: 85%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, +.form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, +.form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='9px' viewBox='0 0 16 9'%3e%3cpolyline fill='none' stroke='%23bbc2c8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='14.596,1.244 8.024,7.817 1.451,1.244 '/%3e%3c/svg%3e") no-repeat right 1.15rem center/16px 9px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-family: "Arquitecta-bold", Sans-serif; + font-weight: 400; + color: #212529; + text-align: center; + text-decoration: none; + vertical-align: middle; + user-select: none; + background-color: transparent; + border: 0 solid transparent; + padding: 0.8rem 2rem; + font-size: 1.2em; + line-height: 1.5; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; + box-shadow: none; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn:not(:disabled):not(.disabled):active:focus, .btn:not(:disabled):not(.disabled).active:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #3e64c1; + border-color: #3e64c1; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-primary.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #3e64c1; +} + +.btn-primary.bg-gradient:hover { + background-size: 100% 400%; + background-color: #4a76c5; +} + +.btn-primary:hover { + color: #fff; + background-color: #3555a4; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #3555a4; + border-color: #32509a; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(91, 123, 202, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #3e64c1; + border-color: #3e64c1; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #32509a; + border-color: #2f4b91; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(91, 123, 202, 0.5); +} + +.btn-secondary { + color: #fff; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #333; + border-color: #333; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-secondary.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #333; +} + +.btn-secondary.bg-gradient:hover { + background-size: 100% 400%; + background-color: #3b3b3b; +} + +.btn-secondary:hover { + color: #fff; + background-color: #202020; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #202020; + border-color: #1a1a1a; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(82, 82, 82, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #333; + border-color: #333; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #1a1a1a; + border-color: #131313; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(82, 82, 82, 0.5); +} + +.btn-success { + color: #212529; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #74be4b; + border-color: #74be4b; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-success.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #74be4b; +} + +.btn-success.bg-gradient:hover { + background-size: 100% 400%; + background-color: #84c256; +} + +.btn-success:hover { + color: #fff; + background-color: #62a73c; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #62a73c; + border-color: #5d9d39; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(104, 167, 70, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #212529; + background-color: #74be4b; + border-color: #74be4b; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #5d9d39; + border-color: #579435; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(104, 167, 70, 0.5); +} + +.btn-info { + color: #212529; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #2ec3ea; + border-color: #2ec3ea; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-info.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #2ec3ea; +} + +.btn-info.bg-gradient:hover { + background-size: 100% 400%; + background-color: #3cd3eb; +} + +.btn-info:hover { + color: #fff; + background-color: #16b3dc; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #16b3dc; + border-color: #15a9d0; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(44, 171, 205, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #212529; + background-color: #2ec3ea; + border-color: #2ec3ea; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #15a9d0; + border-color: #14a0c5; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(44, 171, 205, 0.5); +} + +.btn-warning { + color: #fff; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #ff6000; + border-color: #ff6000; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-warning.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #ff6000; +} + +.btn-warning.bg-gradient:hover { + background-size: 100% 400%; + background-color: #ff5a0f; +} + +.btn-warning:hover { + color: #fff; + background-color: #d95200; +} + +.btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #d95200; + border-color: #cc4d00; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(255, 120, 38, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #fff; + background-color: #ff6000; + border-color: #ff6000; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #cc4d00; + border-color: #bf4800; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(255, 120, 38, 0.5); +} + +.btn-danger { + color: #fff; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #e8192c; + border-color: #e8192c; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-danger.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #e8192c; +} + +.btn-danger.bg-gradient:hover { + background-size: 100% 400%; + background-color: #e92746; +} + +.btn-danger:hover { + color: #fff; + background-color: #c71424; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c71424; + border-color: #bb1322; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(235, 60, 76, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #e8192c; + border-color: #e8192c; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bb1322; + border-color: #b01220; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(235, 60, 76, 0.5); +} + +.btn-skyblue { + color: #fff; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #2f85b3; + border-color: #2f85b3; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-skyblue.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #2f85b3; +} + +.btn-skyblue.bg-gradient:hover { + background-size: 100% 400%; + background-color: #3297bf; +} + +.btn-skyblue:hover { + color: #fff; + background-color: #276e95; +} + +.btn-skyblue:focus, .btn-skyblue.focus { + color: #fff; + background-color: #276e95; + border-color: #24678b; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(78, 151, 190, 0.5); +} + +.btn-skyblue.disabled, .btn-skyblue:disabled { + color: #fff; + background-color: #2f85b3; + border-color: #2f85b3; +} + +.btn-skyblue:not(:disabled):not(.disabled):active, .btn-skyblue:not(:disabled):not(.disabled).active, +.show > .btn-skyblue.dropdown-toggle { + color: #fff; + background-color: #24678b; + border-color: #225f81; +} + +.btn-skyblue:not(:disabled):not(.disabled):active:focus, .btn-skyblue:not(:disabled):not(.disabled).active:focus, +.show > .btn-skyblue.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(78, 151, 190, 0.5); +} + +.btn-white { + color: #212529; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #fff; + border-color: #fff; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-white.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #fff; +} + +.btn-white.bg-gradient:hover { + background-size: 100% 400%; + background-color: white; +} + +.btn-white:hover { + color: #212529; + background-color: #ececec; +} + +.btn-white:focus, .btn-white.focus { + color: #212529; + background-color: #ececec; + border-color: #e6e6e6; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(222, 222, 223, 0.5); +} + +.btn-white.disabled, .btn-white:disabled { + color: #212529; + background-color: #fff; + border-color: #fff; +} + +.btn-white:not(:disabled):not(.disabled):active, .btn-white:not(:disabled):not(.disabled).active, +.show > .btn-white.dropdown-toggle { + color: #212529; + background-color: #e6e6e6; + border-color: #dfdfdf; +} + +.btn-white:not(:disabled):not(.disabled):active:focus, .btn-white:not(:disabled):not(.disabled).active:focus, +.show > .btn-white.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(222, 222, 223, 0.5); +} + +.btn-light { + color: #212529; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #aaa; + border-color: #aaa; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-light.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #aaa; +} + +.btn-light.bg-gradient:hover { + background-size: 100% 400%; + background-color: #b2b2b2; +} + +.btn-light:hover { + color: #212529; + background-color: #979797; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #979797; + border-color: #919191; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(149, 150, 151, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #aaa; + border-color: #aaa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #fff; + background-color: #919191; + border-color: #8a8a8a; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(149, 150, 151, 0.5); +} + +.btn-dark { + color: #fff; + /* Modification KWW début */ + /*@include gradient-bg($background);*/ + background-color: #343a40; + border-color: #343a40; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + /* Modification KWW fin */ +} + +.btn-dark.bg-gradient { + background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%) center center no-repeat; + background-size: 100% 100%; + background-color: #343a40; +} + +.btn-dark.bg-gradient:hover { + background-size: 100% 400%; + background-color: #3b4348; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #3e64c1; + border-color: #3e64c1; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #3e64c1; + border-color: #3e64c1; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(62, 100, 193, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #3e64c1; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #3e64c1; + border-color: #3e64c1; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(62, 100, 193, 0.5); +} + +.btn-outline-secondary { + color: #333; + border-color: #333; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #333; + border-color: #333; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #333; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #333; + border-color: #333; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(51, 51, 51, 0.5); +} + +.btn-outline-success { + color: #74be4b; + border-color: #74be4b; +} + +.btn-outline-success:hover { + color: #212529; + background-color: #74be4b; + border-color: #74be4b; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(116, 190, 75, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #74be4b; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #212529; + background-color: #74be4b; + border-color: #74be4b; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(116, 190, 75, 0.5); +} + +.btn-outline-info { + color: #2ec3ea; + border-color: #2ec3ea; +} + +.btn-outline-info:hover { + color: #212529; + background-color: #2ec3ea; + border-color: #2ec3ea; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(46, 195, 234, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #2ec3ea; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #212529; + background-color: #2ec3ea; + border-color: #2ec3ea; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(46, 195, 234, 0.5); +} + +.btn-outline-warning { + color: #ff6000; + border-color: #ff6000; +} + +.btn-outline-warning:hover { + color: #fff; + background-color: #ff6000; + border-color: #ff6000; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 96, 0, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ff6000; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #ff6000; + border-color: #ff6000; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(255, 96, 0, 0.5); +} + +.btn-outline-danger { + color: #e8192c; + border-color: #e8192c; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #e8192c; + border-color: #e8192c; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #e8192c; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #e8192c; + border-color: #e8192c; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(232, 25, 44, 0.5); +} + +.btn-outline-skyblue { + color: #2f85b3; + border-color: #2f85b3; +} + +.btn-outline-skyblue:hover { + color: #fff; + background-color: #2f85b3; + border-color: #2f85b3; +} + +.btn-outline-skyblue:focus, .btn-outline-skyblue.focus { + box-shadow: 0 0 0 0.2rem rgba(47, 133, 179, 0.5); +} + +.btn-outline-skyblue.disabled, .btn-outline-skyblue:disabled { + color: #2f85b3; + background-color: transparent; +} + +.btn-outline-skyblue:not(:disabled):not(.disabled):active, .btn-outline-skyblue:not(:disabled):not(.disabled).active, +.show > .btn-outline-skyblue.dropdown-toggle { + color: #fff; + background-color: #2f85b3; + border-color: #2f85b3; +} + +.btn-outline-skyblue:not(:disabled):not(.disabled):active:focus, .btn-outline-skyblue:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-skyblue.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(47, 133, 179, 0.5); +} + +.btn-outline-white { + color: #fff; + border-color: #fff; +} + +.btn-outline-white:hover { + color: #212529; + background-color: #fff; + border-color: #fff; +} + +.btn-outline-white:focus, .btn-outline-white.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-outline-white.disabled, .btn-outline-white:disabled { + color: #fff; + background-color: transparent; +} + +.btn-outline-white:not(:disabled):not(.disabled):active, .btn-outline-white:not(:disabled):not(.disabled).active, +.show > .btn-outline-white.dropdown-toggle { + color: #212529; + background-color: #fff; + border-color: #fff; +} + +.btn-outline-white:not(:disabled):not(.disabled):active:focus, .btn-outline-white:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-white.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-outline-light { + color: #aaa; + border-color: #aaa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #aaa; + border-color: #aaa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(170, 170, 170, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #aaa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #aaa; + border-color: #aaa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(170, 170, 170, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: var(--primary); + text-decoration: underline; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: none; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 1.2rem 2.8rem; + font-size: 1.4em; + line-height: 1.5; + border-radius: 0; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.4rem 1.2rem; + font-size: 1.05em; + line-height: 1.5; + border-radius: 0; +} + +.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 { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + 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: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175); +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1440px) { + .dropdown-menu-xxl-left { + right: auto; + left: 0; + } + .dropdown-menu-xxl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.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: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: 0; +} + +.dropdown-toggle-split { + padding-right: 1.5rem; + padding-left: 1.5rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.9rem; + padding-left: 0.9rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 2.1rem; + padding-left: 2.1rem; +} + +.btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: 0; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .custom-file { + display: flex; + align-items: center; +} + +.input-group-prepend, +.input-group-append { + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: 0; +} + +.input-group-prepend { + margin-right: 0; +} + +.input-group-append { + margin-left: 0; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.5rem 1.15rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 0 solid #ced4da; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(2.5em + 0.56rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.28rem 1.7rem; + font-size: 1.15rem; + line-height: 1.5; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.8rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.4rem 1.05rem; + font-size: 0.855rem; + line-height: 1.5; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 2.15rem; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; + box-shadow: none; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1), 0 0 0 3px rgba(62, 100, 193, 0.3), 0 4px 18px rgba(62, 100, 193, 0.14); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; + box-shadow: none; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3e%3cpolygon fill='%23fff' points='17.006,4.981 8.504,13.482 4.994,9.973 3.224,11.745 8.498,17.019 8.51,17.007 8.516,17.013 18.777,6.751 '/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; + box-shadow: none; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3e%3ccircle fill='%23fff' cx='11' cy='11' r='5'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.5rem; +} + +.custom-switch .custom-control-label::before { + left: -2.5rem; + width: 2rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.5rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(1rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 2.15rem 0.5rem 1.15rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='9px' viewBox='0 0 16 9'%3e%3cpolyline fill='none' stroke='%23bbc2c8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='14.596,1.244 8.024,7.817 1.451,1.244 '/%3e%3c/svg%3e") no-repeat right 1.15rem center/16px 9px; + border: 0 solid #ced4da; + border-radius: 0; + box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1); + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1), 0 0 0 3px rgba(62, 100, 193, 0.3), 0 4px 18px rgba(62, 100, 193, 0.14); +} + +.custom-select:focus::-ms-value { + color: #212529; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 1.15rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.8rem + 2px); + padding-top: 0.4rem; + padding-bottom: 0.4rem; + padding-left: 1.05rem; + font-size: 0.855rem; +} + +.custom-select-lg { + height: calc(2.5em + 0.56rem + 2px); + padding-top: 0.28rem; + padding-bottom: 0.28rem; + padding-left: 1.7rem; + font-size: 1.15rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.8rem 1rem; + text-decoration: none; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #adb5bd !important; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 0 solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: 0; +} + +.nav-tabs .nav-link { + border: 0 solid transparent; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #adb5bd !important; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: transparent; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: 0; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +/* @import '../_lib-scss/bootstrap/navbar'; */ +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} + +.card > .list-group:first-child { + border-top-width: 0; +} + +.card > .list-group:last-child { + border-bottom-width: 0; +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + 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-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.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-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; + width: 100%; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; +} + +.accordion > .card > .card-header { + margin-bottom: -1px; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 0; + font-size: 1rem; + list-style: none; +} + +.breadcrumb-item { + display: flex; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.6rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.6rem; + color: #d2d2d2; + content: ""; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #bbb; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.9rem; + margin-left: -1px; + line-height: 1.25; + color: #fff !important; + text-decoration: none; + background-color: rgba(62, 100, 193, 0.5); + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: rgba(62, 100, 193, 0.75); + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff !important; + background-color: var(--primary); + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #fff !important; + pointer-events: none; + cursor: auto; + background-color: var(--primary); + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.1em; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.7rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.badge { + display: inline-block; + padding: 0.39em 0.54em; + font-size: 0.9rem; + font-weight: 400; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.54em; + padding-left: 0.54em; +} + +.badge-primary { + color: #fff; + background-color: #3e64c1; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #32509a; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(62, 100, 193, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #333; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #1a1a1a; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); +} + +.badge-success { + color: #212529; + background-color: #74be4b; +} + +a.badge-success:hover, a.badge-success:focus { + color: #212529; + background-color: #5d9d39; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(116, 190, 75, 0.5); +} + +.badge-info { + color: #212529; + background-color: #2ec3ea; +} + +a.badge-info:hover, a.badge-info:focus { + color: #212529; + background-color: #15a9d0; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(46, 195, 234, 0.5); +} + +.badge-warning { + color: #fff; + background-color: #ff6000; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #fff; + background-color: #cc4d00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 96, 0, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #e8192c; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bb1322; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.5); +} + +.badge-skyblue { + color: #fff; + background-color: #2f85b3; +} + +a.badge-skyblue:hover, a.badge-skyblue:focus { + color: #fff; + background-color: #24678b; +} + +a.badge-skyblue:focus, a.badge-skyblue.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(47, 133, 179, 0.5); +} + +.badge-white { + color: #212529; + background-color: #fff; +} + +a.badge-white:hover, a.badge-white:focus { + color: #212529; + background-color: #e6e6e6; +} + +a.badge-white:focus, a.badge-white.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.badge-light { + color: #212529; + background-color: #aaa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #919191; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(170, 170, 170, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* @import '../_lib-scss/bootstrap/jumbotron'; */ +.alert { + position: relative; + padding: 1.3rem 1.25rem; + margin-bottom: 1rem; + border: 0 solid transparent; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 1.3rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #2f4c93; + background-color: #c9d4ee; + border-color: #c9d4ee; +} + +.alert-primary hr { + border-top-color: #b6c5e8; +} + +.alert-primary .alert-link { + color: #23386c; +} + +.alert-secondary { + color: #272727; + background-color: #c6c6c6; + border-color: #c6c6c6; +} + +.alert-secondary hr { + border-top-color: #b9b9b9; +} + +.alert-secondary .alert-link { + color: #0e0e0e; +} + +.alert-success { + color: #589039; + background-color: #d8edcd; + border-color: #d8edcd; +} + +.alert-success hr { + border-top-color: #c9e6ba; +} + +.alert-success .alert-link { + color: #426b2b; +} + +.alert-info { + color: #2394b2; + background-color: #c4eef9; + border-color: #c4eef9; +} + +.alert-info hr { + border-top-color: #ade7f7; +} + +.alert-info .alert-link { + color: #1b7187; +} + +.alert-warning { + color: #c24900; + background-color: #ffd2b8; + border-color: #ffd2b8; +} + +.alert-warning hr { + border-top-color: #ffc29f; +} + +.alert-warning .alert-link { + color: #8f3600; +} + +.alert-danger { + color: #b01321; + background-color: #f9bfc4; + border-color: #f9bfc4; +} + +.alert-danger hr { + border-top-color: #f7a8af; +} + +.alert-danger .alert-link { + color: #820e18; +} + +.alert-skyblue { + color: #246588; + background-color: #c5ddea; + border-color: #c5ddea; +} + +.alert-skyblue hr { + border-top-color: #b2d2e3; +} + +.alert-skyblue .alert-link { + color: #194760; +} + +.alert-white { + color: #c2c2c2; + background-color: white; + border-color: white; +} + +.alert-white hr { + border-top-color: #f2f2f2; +} + +.alert-white .alert-link { + color: darkgray; +} + +.alert-light { + color: #818181; + background-color: #e7e7e7; + border-color: #e7e7e7; +} + +.alert-light hr { + border-top-color: #dadada; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #282c31; + background-color: #c6c8ca; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #111315; +} + +@keyframes progress-bar-stripes { + from { + background-position: 6px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: flex; + height: 6px; + overflow: hidden; + line-height: 0; + font-size: 0.75rem; + background-color: #e9ecef; + box-shadow: none; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 6px 6px; +} + +.progress-bar-animated { + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + text-decoration: none; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1440px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #203464; + background-color: #c9d4ee; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #203464; + background-color: #b6c5e8; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #203464; + border-color: #203464; +} + +.list-group-item-secondary { + color: #1b1b1b; + background-color: #c6c6c6; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #1b1b1b; + background-color: #b9b9b9; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #1b1b1b; + border-color: #1b1b1b; +} + +.list-group-item-success { + color: #3c6327; + background-color: #d8edcd; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #3c6327; + background-color: #c9e6ba; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #3c6327; + border-color: #3c6327; +} + +.list-group-item-info { + color: #18657a; + background-color: #c4eef9; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #18657a; + background-color: #ade7f7; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #18657a; + border-color: #18657a; +} + +.list-group-item-warning { + color: #853200; + background-color: #ffd2b8; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #853200; + background-color: #ffc29f; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #853200; + border-color: #853200; +} + +.list-group-item-danger { + color: #790d17; + background-color: #f9bfc4; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #790d17; + background-color: #f7a8af; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #790d17; + border-color: #790d17; +} + +.list-group-item-skyblue { + color: #18455d; + background-color: #c5ddea; +} + +.list-group-item-skyblue.list-group-item-action:hover, .list-group-item-skyblue.list-group-item-action:focus { + color: #18455d; + background-color: #b2d2e3; +} + +.list-group-item-skyblue.list-group-item-action.active { + color: #fff; + background-color: #18455d; + border-color: #18455d; +} + +.list-group-item-white { + color: #858585; + background-color: white; +} + +.list-group-item-white.list-group-item-action:hover, .list-group-item-white.list-group-item-action:focus { + color: #858585; + background-color: #f2f2f2; +} + +.list-group-item-white.list-group-item-action.active { + color: #fff; + background-color: #858585; + border-color: #858585; +} + +.list-group-item-light { + color: #585858; + background-color: #e7e7e7; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #585858; + background-color: #dadada; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #585858; + border-color: #585858; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +@media (max-width: 1200px) { + .close { + font-size: calc(1.275rem + 0.3vw) ; + } +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + backdrop-filter: blur(10px); + opacity: 0; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 3010; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 1.3rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 2.6rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 2.6rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 2.6rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 2.6rem); + height: min-content; + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 0 solid rgba(0, 0, 0, 0.2); + box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.5); + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 3000; + width: 100vw; + height: 100vh; + background-color: #4d525f; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.7; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 0 solid #dee2e6; +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 0 solid #dee2e6; +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + height: min-content; + } + .modal-content { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.95rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.85; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #212529; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #212529; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #212529; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #212529; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.35rem 0.75rem; + color: #fff; + text-align: center; + background-color: #212529; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 2060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.08); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1); +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +/* @import '../_lib-scss/bootstrap/carousel'; */ +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.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-primary { + background-color: #3e64c1 !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #385aae !important; + /* Modification KWW fin */ +} + +.bg-secondary { + background-color: #333 !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #262626 !important; + /* Modification KWW fin */ +} + +.bg-success { + background-color: #74be4b !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #68b040 !important; + /* Modification KWW fin */ +} + +.bg-info { + background-color: #2ec3ea !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #17bce7 !important; + /* Modification KWW fin */ +} + +.bg-warning { + background-color: #ff6000 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #e65600 !important; + /* Modification KWW fin */ +} + +.bg-danger { + background-color: #e8192c !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #d21526 !important; + /* Modification KWW fin */ +} + +.bg-skyblue { + background-color: #2f85b3 !important; +} + +a.bg-skyblue:hover, a.bg-skyblue:focus, +button.bg-skyblue:hover, +button.bg-skyblue:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #2a769f !important; + /* Modification KWW fin */ +} + +.bg-white { + background-color: #fff !important; +} + +a.bg-white:hover, a.bg-white:focus, +button.bg-white:hover, +button.bg-white:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #f2f2f2 !important; + /* Modification KWW fin */ +} + +.bg-light { + background-color: #aaa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #9d9d9d !important; + /* Modification KWW fin */ +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + /* Modification KWW début */ + /* background-color: darken($color, 10%) !important; */ + background-color: #292d32 !important; + /* Modification KWW fin */ +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !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; +} + +.border-primary { + border-color: #3e64c1 !important; +} + +.border-secondary { + border-color: #333 !important; +} + +.border-success { + border-color: #74be4b !important; +} + +.border-info { + border-color: #2ec3ea !important; +} + +.border-warning { + border-color: #ff6000 !important; +} + +.border-danger { + border-color: #e8192c !important; +} + +.border-skyblue { + border-color: #2f85b3 !important; +} + +.border-white { + border-color: #fff !important; +} + +.border-light { + border-color: #aaa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.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-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + 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-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } +} + +@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-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } +} + +@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-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } +} + +@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-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 1440px) { + .d-xxl-none { + display: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } +} + +.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.85714%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1440px) { + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } +} + +.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; + } +} + +@media (min-width: 1440px) { + .float-xxl-left { + float: left !important; + } + .float-xxl-right { + float: right !important; + } + .float-xxl-none { + float: none !important; + } +} + +.user-select-all { + user-select: all !important; +} + +.user-select-auto { + user-select: auto !important; +} + +.user-select-none { + user-select: none !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !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; +} + +@supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 4px 11px rgba(0, 0, 0, 0.08) !important; +} + +.shadow { + box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08) !important; +} + +.shadow-lg { + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1440px) { + .m-xxl-0 { + margin: 0 !important; + } + .mt-xxl-0, + .my-xxl-0 { + margin-top: 0 !important; + } + .mr-xxl-0, + .mx-xxl-0 { + margin-right: 0 !important; + } + .mb-xxl-0, + .my-xxl-0 { + margin-bottom: 0 !important; + } + .ml-xxl-0, + .mx-xxl-0 { + margin-left: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .mt-xxl-1, + .my-xxl-1 { + margin-top: 0.25rem !important; + } + .mr-xxl-1, + .mx-xxl-1 { + margin-right: 0.25rem !important; + } + .mb-xxl-1, + .my-xxl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xxl-1, + .mx-xxl-1 { + margin-left: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .mt-xxl-2, + .my-xxl-2 { + margin-top: 0.5rem !important; + } + .mr-xxl-2, + .mx-xxl-2 { + margin-right: 0.5rem !important; + } + .mb-xxl-2, + .my-xxl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xxl-2, + .mx-xxl-2 { + margin-left: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .mt-xxl-3, + .my-xxl-3 { + margin-top: 1rem !important; + } + .mr-xxl-3, + .mx-xxl-3 { + margin-right: 1rem !important; + } + .mb-xxl-3, + .my-xxl-3 { + margin-bottom: 1rem !important; + } + .ml-xxl-3, + .mx-xxl-3 { + margin-left: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .mt-xxl-4, + .my-xxl-4 { + margin-top: 1.5rem !important; + } + .mr-xxl-4, + .mx-xxl-4 { + margin-right: 1.5rem !important; + } + .mb-xxl-4, + .my-xxl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xxl-4, + .mx-xxl-4 { + margin-left: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .mt-xxl-5, + .my-xxl-5 { + margin-top: 3rem !important; + } + .mr-xxl-5, + .mx-xxl-5 { + margin-right: 3rem !important; + } + .mb-xxl-5, + .my-xxl-5 { + margin-bottom: 3rem !important; + } + .ml-xxl-5, + .mx-xxl-5 { + margin-left: 3rem !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .pt-xxl-0, + .py-xxl-0 { + padding-top: 0 !important; + } + .pr-xxl-0, + .px-xxl-0 { + padding-right: 0 !important; + } + .pb-xxl-0, + .py-xxl-0 { + padding-bottom: 0 !important; + } + .pl-xxl-0, + .px-xxl-0 { + padding-left: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .pt-xxl-1, + .py-xxl-1 { + padding-top: 0.25rem !important; + } + .pr-xxl-1, + .px-xxl-1 { + padding-right: 0.25rem !important; + } + .pb-xxl-1, + .py-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xxl-1, + .px-xxl-1 { + padding-left: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .pt-xxl-2, + .py-xxl-2 { + padding-top: 0.5rem !important; + } + .pr-xxl-2, + .px-xxl-2 { + padding-right: 0.5rem !important; + } + .pb-xxl-2, + .py-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xxl-2, + .px-xxl-2 { + padding-left: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .pt-xxl-3, + .py-xxl-3 { + padding-top: 1rem !important; + } + .pr-xxl-3, + .px-xxl-3 { + padding-right: 1rem !important; + } + .pb-xxl-3, + .py-xxl-3 { + padding-bottom: 1rem !important; + } + .pl-xxl-3, + .px-xxl-3 { + padding-left: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .pt-xxl-4, + .py-xxl-4 { + padding-top: 1.5rem !important; + } + .pr-xxl-4, + .px-xxl-4 { + padding-right: 1.5rem !important; + } + .pb-xxl-4, + .py-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xxl-4, + .px-xxl-4 { + padding-left: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .pt-xxl-5, + .py-xxl-5 { + padding-top: 3rem !important; + } + .pr-xxl-5, + .px-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-5, + .py-xxl-5 { + padding-bottom: 3rem !important; + } + .pl-xxl-5, + .px-xxl-5 { + padding-left: 3rem !important; + } + .m-xxl-n1 { + margin: -0.25rem !important; + } + .mt-xxl-n1, + .my-xxl-n1 { + margin-top: -0.25rem !important; + } + .mr-xxl-n1, + .mx-xxl-n1 { + margin-right: -0.25rem !important; + } + .mb-xxl-n1, + .my-xxl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xxl-n1, + .mx-xxl-n1 { + margin-left: -0.25rem !important; + } + .m-xxl-n2 { + margin: -0.5rem !important; + } + .mt-xxl-n2, + .my-xxl-n2 { + margin-top: -0.5rem !important; + } + .mr-xxl-n2, + .mx-xxl-n2 { + margin-right: -0.5rem !important; + } + .mb-xxl-n2, + .my-xxl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xxl-n2, + .mx-xxl-n2 { + margin-left: -0.5rem !important; + } + .m-xxl-n3 { + margin: -1rem !important; + } + .mt-xxl-n3, + .my-xxl-n3 { + margin-top: -1rem !important; + } + .mr-xxl-n3, + .mx-xxl-n3 { + margin-right: -1rem !important; + } + .mb-xxl-n3, + .my-xxl-n3 { + margin-bottom: -1rem !important; + } + .ml-xxl-n3, + .mx-xxl-n3 { + margin-left: -1rem !important; + } + .m-xxl-n4 { + margin: -1.5rem !important; + } + .mt-xxl-n4, + .my-xxl-n4 { + margin-top: -1.5rem !important; + } + .mr-xxl-n4, + .mx-xxl-n4 { + margin-right: -1.5rem !important; + } + .mb-xxl-n4, + .my-xxl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xxl-n4, + .mx-xxl-n4 { + margin-left: -1.5rem !important; + } + .m-xxl-n5 { + margin: -3rem !important; + } + .mt-xxl-n5, + .my-xxl-n5 { + margin-top: -3rem !important; + } + .mr-xxl-n5, + .mx-xxl-n5 { + margin-right: -3rem !important; + } + .mb-xxl-n5, + .my-xxl-n5 { + margin-bottom: -3rem !important; + } + .ml-xxl-n5, + .mx-xxl-n5 { + margin-left: -3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mt-xxl-auto, + .my-xxl-auto { + margin-top: auto !important; + } + .mr-xxl-auto, + .mx-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-auto, + .my-xxl-auto { + margin-bottom: auto !important; + } + .ml-xxl-auto, + .mx-xxl-auto { + margin-left: auto !important; + } +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !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; + } +} + +@media (min-width: 1440px) { + .text-xxl-left { + text-align: left !important; + } + .text-xxl-right { + text-align: right !important; + } + .text-xxl-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-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #3e64c1 !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #2b4687 !important; +} + +.text-secondary { + color: #333 !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #0d0d0d !important; +} + +.text-success { + color: #74be4b !important; +} + +a.text-success:hover, a.text-success:focus { + color: #528a32 !important; +} + +.text-info { + color: #2ec3ea !important; +} + +a.text-info:hover, a.text-info:focus { + color: #1396b9 !important; +} + +.text-warning { + color: #ff6000 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #b34300 !important; +} + +.text-danger { + color: #e8192c !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a4101e !important; +} + +.text-skyblue { + color: #2f85b3 !important; +} + +a.text-skyblue:hover, a.text-skyblue:focus { + color: #1f5876 !important; +} + +.text-white { + color: #fff !important; +} + +a.text-white:hover, a.text-white:focus { + color: #d9d9d9 !important; +} + +.text-light { + color: #aaa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #848484 !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + 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; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .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 #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #e4e7ea; + } + .table .thead-dark th { + color: inherit; + border-color: #e4e7ea; + } +} diff --git a/key4intranet.front/public/assets/css/flickity.css b/key4intranet.front/public/assets/css/flickity.css new file mode 100644 index 0000000..dbec0e4 --- /dev/null +++ b/key4intranet.front/public/assets/css/flickity.css @@ -0,0 +1,154 @@ +/*! Flickity v2.2.1 +https://flickity.metafizzy.co +---------------------------------------------- */ + +.flickity-enabled { + position: relative; +} + +.flickity-enabled:focus { + outline: none; +} + +.flickity-viewport { + overflow: hidden; + position: relative; + height: 100%; +} + +.flickity-slider { + position: absolute; + width: 100%; + height: 100%; +} + + +/* draggable */ + +.flickity-enabled.is-draggable { + -webkit-tap-highlight-color: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.flickity-enabled.is-draggable .flickity-viewport { + cursor: move; + cursor: -webkit-grab; + cursor: grab; +} + +.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down { + cursor: -webkit-grabbing; + cursor: grabbing; +} + + +/* ---- flickity-button ---- */ + +.flickity-button { + position: absolute; + background: hsla(0, 0%, 100%, 0.75); + border: none; + color: #333; +} + +.flickity-button:hover { + background: white; + cursor: pointer; +} + +.flickity-button:focus { + outline: none; + box-shadow: 0 0 0 5px #19F; +} + +.flickity-button:active { + opacity: 0.6; +} + +.flickity-button:disabled { + opacity: 0.3; + cursor: auto; + /* prevent disabled button from capturing pointer up event. #716 */ + pointer-events: none; +} + +.flickity-button-icon { + fill: currentColor; +} + + +/* ---- previous/next buttons ---- */ + +.flickity-prev-next-button { + top: 50%; + width: 44px; + height: 44px; + border-radius: 50%; + /* vertically center */ + transform: translateY(-50%); +} + +.flickity-prev-next-button.previous { + left: 10px; +} + +.flickity-prev-next-button.next { + right: 10px; +} + + +/* right to left */ + +.flickity-rtl .flickity-prev-next-button.previous { + left: auto; + right: 10px; +} + +.flickity-rtl .flickity-prev-next-button.next { + right: auto; + left: 10px; +} + +.flickity-prev-next-button .flickity-button-icon { + position: absolute; + left: 20%; + top: 20%; + width: 60%; + height: 60%; +} + + +/* ---- page dots ---- */ + +.flickity-page-dots { + position: absolute; + width: 100%; + bottom: -25px; + padding: 0; + margin: 0; + list-style: none; + text-align: center; + line-height: 1; +} + +.flickity-rtl .flickity-page-dots { + direction: rtl; +} + +.flickity-page-dots .dot { + display: inline-block; + width: 10px; + height: 10px; + margin: 0 8px; + background: #333; + border-radius: 50%; + opacity: 0.25; + cursor: pointer; +} + +.flickity-page-dots .dot.is-selected { + opacity: 1; +} \ No newline at end of file diff --git a/key4intranet.front/public/assets/css/fontawesome.key4.css b/key4intranet.front/public/assets/css/fontawesome.key4.css new file mode 100644 index 0000000..1104733 --- /dev/null +++ b/key4intranet.front/public/assets/css/fontawesome.key4.css @@ -0,0 +1,16970 @@ +/* + ============================================================================================== + --------------------------| |-------------------------- + --------------------------| CSS / Key4events 2020 |-------------------------- + --------------------------| Font Awesome |-------------------------- + --------------------------| |-------------------------- + ============================================================================================== +*/ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; +} + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; +} + +.fa-xs { + font-size: .75em; +} + +.fa-sm { + font-size: .875em; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; +} + +.fa-ul > li { + position: relative; +} + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; +} + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; +} + +.fa-pull-left { + float: left; +} + +.fa-pull-right { + float: right; +} + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; +} + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; +} + +.fa-spin { + animation: fa-spin 2s infinite linear; +} + +.fa-pulse { + animation: fa-spin 1s infinite steps(8); +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + transform: rotate(90deg); +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + transform: rotate(180deg); +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + transform: rotate(270deg); +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + transform: scale(-1, 1); +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(1, -1); +} + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(-1, -1); +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + filter: none; +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; +} + +.fa-stack-1x { + line-height: inherit; +} + +.fa-stack-2x { + font-size: 2em; +} + +.fa-inverse { + color: #fff; +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; +} + +.fa-abacus:before { + content: "\f640"; +} + +.fa-accessible-icon:before { + content: "\f368"; +} + +.fa-accusoft:before { + content: "\f369"; +} + +.fa-acorn:before { + content: "\f6ae"; +} + +.fa-acquisitions-incorporated:before { + content: "\f6af"; +} + +.fa-ad:before { + content: "\f641"; +} + +.fa-address-book:before { + content: "\f2b9"; +} + +.fa-address-card:before { + content: "\f2bb"; +} + +.fa-adjust:before { + content: "\f042"; +} + +.fa-adn:before { + content: "\f170"; +} + +.fa-adobe:before { + content: "\f778"; +} + +.fa-adversal:before { + content: "\f36a"; +} + +.fa-affiliatetheme:before { + content: "\f36b"; +} + +.fa-air-conditioner:before { + content: "\f8f4"; +} + +.fa-air-freshener:before { + content: "\f5d0"; +} + +.fa-airbnb:before { + content: "\f834"; +} + +.fa-alarm-clock:before { + content: "\f34e"; +} + +.fa-alarm-exclamation:before { + content: "\f843"; +} + +.fa-alarm-plus:before { + content: "\f844"; +} + +.fa-alarm-snooze:before { + content: "\f845"; +} + +.fa-album:before { + content: "\f89f"; +} + +.fa-album-collection:before { + content: "\f8a0"; +} + +.fa-algolia:before { + content: "\f36c"; +} + +.fa-alicorn:before { + content: "\f6b0"; +} + +.fa-alien:before { + content: "\f8f5"; +} + +.fa-alien-monster:before { + content: "\f8f6"; +} + +.fa-align-center:before { + content: "\f037"; +} + +.fa-align-justify:before { + content: "\f039"; +} + +.fa-align-left:before { + content: "\f036"; +} + +.fa-align-right:before { + content: "\f038"; +} + +.fa-align-slash:before { + content: "\f846"; +} + +.fa-alipay:before { + content: "\f642"; +} + +.fa-allergies:before { + content: "\f461"; +} + +.fa-amazon:before { + content: "\f270"; +} + +.fa-amazon-pay:before { + content: "\f42c"; +} + +.fa-ambulance:before { + content: "\f0f9"; +} + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} + +.fa-amilia:before { + content: "\f36d"; +} + +.fa-amp-guitar:before { + content: "\f8a1"; +} + +.fa-analytics:before { + content: "\f643"; +} + +.fa-anchor:before { + content: "\f13d"; +} + +.fa-android:before { + content: "\f17b"; +} + +.fa-angel:before { + content: "\f779"; +} + +.fa-angellist:before { + content: "\f209"; +} + +.fa-angle-double-down:before { + content: "\f103"; +} + +.fa-angle-double-left:before { + content: "\f100"; +} + +.fa-angle-double-right:before { + content: "\f101"; +} + +.fa-angle-double-up:before { + content: "\f102"; +} + +.fa-angle-down:before { + content: "\f107"; +} + +.fa-angle-left:before { + content: "\f104"; +} + +.fa-angle-right:before { + content: "\f105"; +} + +.fa-angle-up:before { + content: "\f106"; +} + +.fa-angry:before { + content: "\f556"; +} + +.fa-angrycreative:before { + content: "\f36e"; +} + +.fa-angular:before { + content: "\f420"; +} + +.fa-ankh:before { + content: "\f644"; +} + +.fa-app-store:before { + content: "\f36f"; +} + +.fa-app-store-ios:before { + content: "\f370"; +} + +.fa-apper:before { + content: "\f371"; +} + +.fa-apple:before { + content: "\f179"; +} + +.fa-apple-alt:before { + content: "\f5d1"; +} + +.fa-apple-crate:before { + content: "\f6b1"; +} + +.fa-apple-pay:before { + content: "\f415"; +} + +.fa-archive:before { + content: "\f187"; +} + +.fa-archway:before { + content: "\f557"; +} + +.fa-arrow-alt-circle-down:before { + content: "\f358"; +} + +.fa-arrow-alt-circle-left:before { + content: "\f359"; +} + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; +} + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; +} + +.fa-arrow-alt-down:before { + content: "\f354"; +} + +.fa-arrow-alt-from-bottom:before { + content: "\f346"; +} + +.fa-arrow-alt-from-left:before { + content: "\f347"; +} + +.fa-arrow-alt-from-right:before { + content: "\f348"; +} + +.fa-arrow-alt-from-top:before { + content: "\f349"; +} + +.fa-arrow-alt-left:before { + content: "\f355"; +} + +.fa-arrow-alt-right:before { + content: "\f356"; +} + +.fa-arrow-alt-square-down:before { + content: "\f350"; +} + +.fa-arrow-alt-square-left:before { + content: "\f351"; +} + +.fa-arrow-alt-square-right:before { + content: "\f352"; +} + +.fa-arrow-alt-square-up:before { + content: "\f353"; +} + +.fa-arrow-alt-to-bottom:before { + content: "\f34a"; +} + +.fa-arrow-alt-to-left:before { + content: "\f34b"; +} + +.fa-arrow-alt-to-right:before { + content: "\f34c"; +} + +.fa-arrow-alt-to-top:before { + content: "\f34d"; +} + +.fa-arrow-alt-up:before { + content: "\f357"; +} + +.fa-arrow-circle-down:before { + content: "\f0ab"; +} + +.fa-arrow-circle-left:before { + content: "\f0a8"; +} + +.fa-arrow-circle-right:before { + content: "\f0a9"; +} + +.fa-arrow-circle-up:before { + content: "\f0aa"; +} + +.fa-arrow-down:before { + content: "\f063"; +} + +.fa-arrow-from-bottom:before { + content: "\f342"; +} + +.fa-arrow-from-left:before { + content: "\f343"; +} + +.fa-arrow-from-right:before { + content: "\f344"; +} + +.fa-arrow-from-top:before { + content: "\f345"; +} + +.fa-arrow-left:before { + content: "\f060"; +} + +.fa-arrow-right:before { + content: "\f061"; +} + +.fa-arrow-square-down:before { + content: "\f339"; +} + +.fa-arrow-square-left:before { + content: "\f33a"; +} + +.fa-arrow-square-right:before { + content: "\f33b"; +} + +.fa-arrow-square-up:before { + content: "\f33c"; +} + +.fa-arrow-to-bottom:before { + content: "\f33d"; +} + +.fa-arrow-to-left:before { + content: "\f33e"; +} + +.fa-arrow-to-right:before { + content: "\f340"; +} + +.fa-arrow-to-top:before { + content: "\f341"; +} + +.fa-arrow-up:before { + content: "\f062"; +} + +.fa-arrows:before { + content: "\f047"; +} + +.fa-arrows-alt:before { + content: "\f0b2"; +} + +.fa-arrows-alt-h:before { + content: "\f337"; +} + +.fa-arrows-alt-v:before { + content: "\f338"; +} + +.fa-arrows-h:before { + content: "\f07e"; +} + +.fa-arrows-v:before { + content: "\f07d"; +} + +.fa-artstation:before { + content: "\f77a"; +} + +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} + +.fa-asterisk:before { + content: "\f069"; +} + +.fa-asymmetrik:before { + content: "\f372"; +} + +.fa-at:before { + content: "\f1fa"; +} + +.fa-atlas:before { + content: "\f558"; +} + +.fa-atlassian:before { + content: "\f77b"; +} + +.fa-atom:before { + content: "\f5d2"; +} + +.fa-atom-alt:before { + content: "\f5d3"; +} + +.fa-audible:before { + content: "\f373"; +} + +.fa-audio-description:before { + content: "\f29e"; +} + +.fa-autoprefixer:before { + content: "\f41c"; +} + +.fa-avianex:before { + content: "\f374"; +} + +.fa-aviato:before { + content: "\f421"; +} + +.fa-award:before { + content: "\f559"; +} + +.fa-aws:before { + content: "\f375"; +} + +.fa-axe:before { + content: "\f6b2"; +} + +.fa-axe-battle:before { + content: "\f6b3"; +} + +.fa-baby:before { + content: "\f77c"; +} + +.fa-baby-carriage:before { + content: "\f77d"; +} + +.fa-backpack:before { + content: "\f5d4"; +} + +.fa-backspace:before { + content: "\f55a"; +} + +.fa-backward:before { + content: "\f04a"; +} + +.fa-bacon:before { + content: "\f7e5"; +} + +.fa-bacteria:before { + content: "\e059"; +} + +.fa-bacterium:before { + content: "\e05a"; +} + +.fa-badge:before { + content: "\f335"; +} + +.fa-badge-check:before { + content: "\f336"; +} + +.fa-badge-dollar:before { + content: "\f645"; +} + +.fa-badge-percent:before { + content: "\f646"; +} + +.fa-badge-sheriff:before { + content: "\f8a2"; +} + +.fa-badger-honey:before { + content: "\f6b4"; +} + +.fa-bags-shopping:before { + content: "\f847"; +} + +.fa-bahai:before { + content: "\f666"; +} + +.fa-balance-scale:before { + content: "\f24e"; +} + +.fa-balance-scale-left:before { + content: "\f515"; +} + +.fa-balance-scale-right:before { + content: "\f516"; +} + +.fa-ball-pile:before { + content: "\f77e"; +} + +.fa-ballot:before { + content: "\f732"; +} + +.fa-ballot-check:before { + content: "\f733"; +} + +.fa-ban:before { + content: "\f05e"; +} + +.fa-band-aid:before { + content: "\f462"; +} + +.fa-bandcamp:before { + content: "\f2d5"; +} + +.fa-banjo:before { + content: "\f8a3"; +} + +.fa-barcode:before { + content: "\f02a"; +} + +.fa-barcode-alt:before { + content: "\f463"; +} + +.fa-barcode-read:before { + content: "\f464"; +} + +.fa-barcode-scan:before { + content: "\f465"; +} + +.fa-bars:before { + content: "\f0c9"; +} + +.fa-baseball:before { + content: "\f432"; +} + +.fa-baseball-ball:before { + content: "\f433"; +} + +.fa-basketball-ball:before { + content: "\f434"; +} + +.fa-basketball-hoop:before { + content: "\f435"; +} + +.fa-bat:before { + content: "\f6b5"; +} + +.fa-bath:before { + content: "\f2cd"; +} + +.fa-battery-bolt:before { + content: "\f376"; +} + +.fa-battery-empty:before { + content: "\f244"; +} + +.fa-battery-full:before { + content: "\f240"; +} + +.fa-battery-half:before { + content: "\f242"; +} + +.fa-battery-quarter:before { + content: "\f243"; +} + +.fa-battery-slash:before { + content: "\f377"; +} + +.fa-battery-three-quarters:before { + content: "\f241"; +} + +.fa-battle-net:before { + content: "\f835"; +} + +.fa-bed:before { + content: "\f236"; +} + +.fa-bed-alt:before { + content: "\f8f7"; +} + +.fa-bed-bunk:before { + content: "\f8f8"; +} + +.fa-bed-empty:before { + content: "\f8f9"; +} + +.fa-beer:before { + content: "\f0fc"; +} + +.fa-behance:before { + content: "\f1b4"; +} + +.fa-behance-square:before { + content: "\f1b5"; +} + +.fa-bell:before { + content: "\f0f3"; +} + +.fa-bell-exclamation:before { + content: "\f848"; +} + +.fa-bell-on:before { + content: "\f8fa"; +} + +.fa-bell-plus:before { + content: "\f849"; +} + +.fa-bell-school:before { + content: "\f5d5"; +} + +.fa-bell-school-slash:before { + content: "\f5d6"; +} + +.fa-bell-slash:before { + content: "\f1f6"; +} + +.fa-bells:before { + content: "\f77f"; +} + +.fa-betamax:before { + content: "\f8a4"; +} + +.fa-bezier-curve:before { + content: "\f55b"; +} + +.fa-bible:before { + content: "\f647"; +} + +.fa-bicycle:before { + content: "\f206"; +} + +.fa-biking:before { + content: "\f84a"; +} + +.fa-biking-mountain:before { + content: "\f84b"; +} + +.fa-bimobject:before { + content: "\f378"; +} + +.fa-binoculars:before { + content: "\f1e5"; +} + +.fa-biohazard:before { + content: "\f780"; +} + +.fa-birthday-cake:before { + content: "\f1fd"; +} + +.fa-bitbucket:before { + content: "\f171"; +} + +.fa-bitcoin:before { + content: "\f379"; +} + +.fa-bity:before { + content: "\f37a"; +} + +.fa-black-tie:before { + content: "\f27e"; +} + +.fa-blackberry:before { + content: "\f37b"; +} + +.fa-blanket:before { + content: "\f498"; +} + +.fa-blender:before { + content: "\f517"; +} + +.fa-blender-phone:before { + content: "\f6b6"; +} + +.fa-blind:before { + content: "\f29d"; +} + +.fa-blinds:before { + content: "\f8fb"; +} + +.fa-blinds-open:before { + content: "\f8fc"; +} + +.fa-blinds-raised:before { + content: "\f8fd"; +} + +.fa-blog:before { + content: "\f781"; +} + +.fa-blogger:before { + content: "\f37c"; +} + +.fa-blogger-b:before { + content: "\f37d"; +} + +.fa-bluetooth:before { + content: "\f293"; +} + +.fa-bluetooth-b:before { + content: "\f294"; +} + +.fa-bold:before { + content: "\f032"; +} + +.fa-bolt:before { + content: "\f0e7"; +} + +.fa-bomb:before { + content: "\f1e2"; +} + +.fa-bone:before { + content: "\f5d7"; +} + +.fa-bone-break:before { + content: "\f5d8"; +} + +.fa-bong:before { + content: "\f55c"; +} + +.fa-book:before { + content: "\f02d"; +} + +.fa-book-alt:before { + content: "\f5d9"; +} + +.fa-book-dead:before { + content: "\f6b7"; +} + +.fa-book-heart:before { + content: "\f499"; +} + +.fa-book-medical:before { + content: "\f7e6"; +} + +.fa-book-open:before { + content: "\f518"; +} + +.fa-book-reader:before { + content: "\f5da"; +} + +.fa-book-spells:before { + content: "\f6b8"; +} + +.fa-book-user:before { + content: "\f7e7"; +} + +.fa-bookmark:before { + content: "\f02e"; +} + +.fa-books:before { + content: "\f5db"; +} + +.fa-books-medical:before { + content: "\f7e8"; +} + +.fa-boombox:before { + content: "\f8a5"; +} + +.fa-boot:before { + content: "\f782"; +} + +.fa-booth-curtain:before { + content: "\f734"; +} + +.fa-bootstrap:before { + content: "\f836"; +} + +.fa-border-all:before { + content: "\f84c"; +} + +.fa-border-bottom:before { + content: "\f84d"; +} + +.fa-border-center-h:before { + content: "\f89c"; +} + +.fa-border-center-v:before { + content: "\f89d"; +} + +.fa-border-inner:before { + content: "\f84e"; +} + +.fa-border-left:before { + content: "\f84f"; +} + +.fa-border-none:before { + content: "\f850"; +} + +.fa-border-outer:before { + content: "\f851"; +} + +.fa-border-right:before { + content: "\f852"; +} + +.fa-border-style:before { + content: "\f853"; +} + +.fa-border-style-alt:before { + content: "\f854"; +} + +.fa-border-top:before { + content: "\f855"; +} + +.fa-bow-arrow:before { + content: "\f6b9"; +} + +.fa-bowling-ball:before { + content: "\f436"; +} + +.fa-bowling-pins:before { + content: "\f437"; +} + +.fa-box:before { + content: "\f466"; +} + +.fa-box-alt:before { + content: "\f49a"; +} + +.fa-box-ballot:before { + content: "\f735"; +} + +.fa-box-check:before { + content: "\f467"; +} + +.fa-box-fragile:before { + content: "\f49b"; +} + +.fa-box-full:before { + content: "\f49c"; +} + +.fa-box-heart:before { + content: "\f49d"; +} + +.fa-box-open:before { + content: "\f49e"; +} + +.fa-box-tissue:before { + content: "\e05b"; +} + +.fa-box-up:before { + content: "\f49f"; +} + +.fa-box-usd:before { + content: "\f4a0"; +} + +.fa-boxes:before { + content: "\f468"; +} + +.fa-boxes-alt:before { + content: "\f4a1"; +} + +.fa-boxing-glove:before { + content: "\f438"; +} + +.fa-brackets:before { + content: "\f7e9"; +} + +.fa-brackets-curly:before { + content: "\f7ea"; +} + +.fa-braille:before { + content: "\f2a1"; +} + +.fa-brain:before { + content: "\f5dc"; +} + +.fa-bread-loaf:before { + content: "\f7eb"; +} + +.fa-bread-slice:before { + content: "\f7ec"; +} + +.fa-briefcase:before { + content: "\f0b1"; +} + +.fa-briefcase-medical:before { + content: "\f469"; +} + +.fa-bring-forward:before { + content: "\f856"; +} + +.fa-bring-front:before { + content: "\f857"; +} + +.fa-broadcast-tower:before { + content: "\f519"; +} + +.fa-broom:before { + content: "\f51a"; +} + +.fa-browser:before { + content: "\f37e"; +} + +.fa-brush:before { + content: "\f55d"; +} + +.fa-btc:before { + content: "\f15a"; +} + +.fa-buffer:before { + content: "\f837"; +} + +.fa-bug:before { + content: "\f188"; +} + +.fa-building:before { + content: "\f1ad"; +} + +.fa-bullhorn:before { + content: "\f0a1"; +} + +.fa-bullseye:before { + content: "\f140"; +} + +.fa-bullseye-arrow:before { + content: "\f648"; +} + +.fa-bullseye-pointer:before { + content: "\f649"; +} + +.fa-burger-soda:before { + content: "\f858"; +} + +.fa-burn:before { + content: "\f46a"; +} + +.fa-buromobelexperte:before { + content: "\f37f"; +} + +.fa-burrito:before { + content: "\f7ed"; +} + +.fa-bus:before { + content: "\f207"; +} + +.fa-bus-alt:before { + content: "\f55e"; +} + +.fa-bus-school:before { + content: "\f5dd"; +} + +.fa-business-time:before { + content: "\f64a"; +} + +.fa-buy-n-large:before { + content: "\f8a6"; +} + +.fa-buysellads:before { + content: "\f20d"; +} + +.fa-cabinet-filing:before { + content: "\f64b"; +} + +.fa-cactus:before { + content: "\f8a7"; +} + +.fa-calculator:before { + content: "\f1ec"; +} + +.fa-calculator-alt:before { + content: "\f64c"; +} + +.fa-calendar:before { + content: "\f133"; +} + +.fa-calendar-alt:before { + content: "\f073"; +} + +.fa-calendar-check:before { + content: "\f274"; +} + +.fa-calendar-day:before { + content: "\f783"; +} + +.fa-calendar-edit:before { + content: "\f333"; +} + +.fa-calendar-exclamation:before { + content: "\f334"; +} + +.fa-calendar-minus:before { + content: "\f272"; +} + +.fa-calendar-plus:before { + content: "\f271"; +} + +.fa-calendar-star:before { + content: "\f736"; +} + +.fa-calendar-times:before { + content: "\f273"; +} + +.fa-calendar-week:before { + content: "\f784"; +} + +.fa-camcorder:before { + content: "\f8a8"; +} + +.fa-camera:before { + content: "\f030"; +} + +.fa-camera-alt:before { + content: "\f332"; +} + +.fa-camera-home:before { + content: "\f8fe"; +} + +.fa-camera-movie:before { + content: "\f8a9"; +} + +.fa-camera-polaroid:before { + content: "\f8aa"; +} + +.fa-camera-retro:before { + content: "\f083"; +} + +.fa-campfire:before { + content: "\f6ba"; +} + +.fa-campground:before { + content: "\f6bb"; +} + +.fa-canadian-maple-leaf:before { + content: "\f785"; +} + +.fa-candle-holder:before { + content: "\f6bc"; +} + +.fa-candy-cane:before { + content: "\f786"; +} + +.fa-candy-corn:before { + content: "\f6bd"; +} + +.fa-cannabis:before { + content: "\f55f"; +} + +.fa-capsules:before { + content: "\f46b"; +} + +.fa-car:before { + content: "\f1b9"; +} + +.fa-car-alt:before { + content: "\f5de"; +} + +.fa-car-battery:before { + content: "\f5df"; +} + +.fa-car-building:before { + content: "\f859"; +} + +.fa-car-bump:before { + content: "\f5e0"; +} + +.fa-car-bus:before { + content: "\f85a"; +} + +.fa-car-crash:before { + content: "\f5e1"; +} + +.fa-car-garage:before { + content: "\f5e2"; +} + +.fa-car-mechanic:before { + content: "\f5e3"; +} + +.fa-car-side:before { + content: "\f5e4"; +} + +.fa-car-tilt:before { + content: "\f5e5"; +} + +.fa-car-wash:before { + content: "\f5e6"; +} + +.fa-caravan:before { + content: "\f8ff"; +} + +.fa-caravan-alt:before { + content: "\e000"; +} + +.fa-caret-circle-down:before { + content: "\f32d"; +} + +.fa-caret-circle-left:before { + content: "\f32e"; +} + +.fa-caret-circle-right:before { + content: "\f330"; +} + +.fa-caret-circle-up:before { + content: "\f331"; +} + +.fa-caret-down:before { + content: "\f0d7"; +} + +.fa-caret-left:before { + content: "\f0d9"; +} + +.fa-caret-right:before { + content: "\f0da"; +} + +.fa-caret-square-down:before { + content: "\f150"; +} + +.fa-caret-square-left:before { + content: "\f191"; +} + +.fa-caret-square-right:before { + content: "\f152"; +} + +.fa-caret-square-up:before { + content: "\f151"; +} + +.fa-caret-up:before { + content: "\f0d8"; +} + +.fa-carrot:before { + content: "\f787"; +} + +.fa-cars:before { + content: "\f85b"; +} + +.fa-cart-arrow-down:before { + content: "\f218"; +} + +.fa-cart-plus:before { + content: "\f217"; +} + +.fa-cash-register:before { + content: "\f788"; +} + +.fa-cassette-tape:before { + content: "\f8ab"; +} + +.fa-cat:before { + content: "\f6be"; +} + +.fa-cat-space:before { + content: "\e001"; +} + +.fa-cauldron:before { + content: "\f6bf"; +} + +.fa-cc-amazon-pay:before { + content: "\f42d"; +} + +.fa-cc-amex:before { + content: "\f1f3"; +} + +.fa-cc-apple-pay:before { + content: "\f416"; +} + +.fa-cc-diners-club:before { + content: "\f24c"; +} + +.fa-cc-discover:before { + content: "\f1f2"; +} + +.fa-cc-jcb:before { + content: "\f24b"; +} + +.fa-cc-mastercard:before { + content: "\f1f1"; +} + +.fa-cc-paypal:before { + content: "\f1f4"; +} + +.fa-cc-stripe:before { + content: "\f1f5"; +} + +.fa-cc-visa:before { + content: "\f1f0"; +} + +.fa-cctv:before { + content: "\f8ac"; +} + +.fa-centercode:before { + content: "\f380"; +} + +.fa-centos:before { + content: "\f789"; +} + +.fa-certificate:before { + content: "\f0a3"; +} + +.fa-chair:before { + content: "\f6c0"; +} + +.fa-chair-office:before { + content: "\f6c1"; +} + +.fa-chalkboard:before { + content: "\f51b"; +} + +.fa-chalkboard-teacher:before { + content: "\f51c"; +} + +.fa-charging-station:before { + content: "\f5e7"; +} + +.fa-chart-area:before { + content: "\f1fe"; +} + +.fa-chart-bar:before { + content: "\f080"; +} + +.fa-chart-line:before { + content: "\f201"; +} + +.fa-chart-line-down:before { + content: "\f64d"; +} + +.fa-chart-network:before { + content: "\f78a"; +} + +.fa-chart-pie:before { + content: "\f200"; +} + +.fa-chart-pie-alt:before { + content: "\f64e"; +} + +.fa-chart-scatter:before { + content: "\f7ee"; +} + +.fa-check:before { + content: "\f00c"; +} + +.fa-check-circle:before { + content: "\f058"; +} + +.fa-check-double:before { + content: "\f560"; +} + +.fa-check-square:before { + content: "\f14a"; +} + +.fa-cheese:before { + content: "\f7ef"; +} + +.fa-cheese-swiss:before { + content: "\f7f0"; +} + +.fa-cheeseburger:before { + content: "\f7f1"; +} + +.fa-chess:before { + content: "\f439"; +} + +.fa-chess-bishop:before { + content: "\f43a"; +} + +.fa-chess-bishop-alt:before { + content: "\f43b"; +} + +.fa-chess-board:before { + content: "\f43c"; +} + +.fa-chess-clock:before { + content: "\f43d"; +} + +.fa-chess-clock-alt:before { + content: "\f43e"; +} + +.fa-chess-king:before { + content: "\f43f"; +} + +.fa-chess-king-alt:before { + content: "\f440"; +} + +.fa-chess-knight:before { + content: "\f441"; +} + +.fa-chess-knight-alt:before { + content: "\f442"; +} + +.fa-chess-pawn:before { + content: "\f443"; +} + +.fa-chess-pawn-alt:before { + content: "\f444"; +} + +.fa-chess-queen:before { + content: "\f445"; +} + +.fa-chess-queen-alt:before { + content: "\f446"; +} + +.fa-chess-rook:before { + content: "\f447"; +} + +.fa-chess-rook-alt:before { + content: "\f448"; +} + +.fa-chevron-circle-down:before { + content: "\f13a"; +} + +.fa-chevron-circle-left:before { + content: "\f137"; +} + +.fa-chevron-circle-right:before { + content: "\f138"; +} + +.fa-chevron-circle-up:before { + content: "\f139"; +} + +.fa-chevron-double-down:before { + content: "\f322"; +} + +.fa-chevron-double-left:before { + content: "\f323"; +} + +.fa-chevron-double-right:before { + content: "\f324"; +} + +.fa-chevron-double-up:before { + content: "\f325"; +} + +.fa-chevron-down:before { + content: "\f078"; +} + +.fa-chevron-left:before { + content: "\f053"; +} + +.fa-chevron-right:before { + content: "\f054"; +} + +.fa-chevron-square-down:before { + content: "\f329"; +} + +.fa-chevron-square-left:before { + content: "\f32a"; +} + +.fa-chevron-square-right:before { + content: "\f32b"; +} + +.fa-chevron-square-up:before { + content: "\f32c"; +} + +.fa-chevron-up:before { + content: "\f077"; +} + +.fa-child:before { + content: "\f1ae"; +} + +.fa-chimney:before { + content: "\f78b"; +} + +.fa-chrome:before { + content: "\f268"; +} + +.fa-chromecast:before { + content: "\f838"; +} + +.fa-church:before { + content: "\f51d"; +} + +.fa-circle:before { + content: "\f111"; +} + +.fa-circle-notch:before { + content: "\f1ce"; +} + +.fa-city:before { + content: "\f64f"; +} + +.fa-clarinet:before { + content: "\f8ad"; +} + +.fa-claw-marks:before { + content: "\f6c2"; +} + +.fa-clinic-medical:before { + content: "\f7f2"; +} + +.fa-clipboard:before { + content: "\f328"; +} + +.fa-clipboard-check:before { + content: "\f46c"; +} + +.fa-clipboard-list:before { + content: "\f46d"; +} + +.fa-clipboard-list-check:before { + content: "\f737"; +} + +.fa-clipboard-prescription:before { + content: "\f5e8"; +} + +.fa-clipboard-user:before { + content: "\f7f3"; +} + +.fa-clock:before { + content: "\f017"; +} + +.fa-clone:before { + content: "\f24d"; +} + +.fa-closed-captioning:before { + content: "\f20a"; +} + +.fa-cloud:before { + content: "\f0c2"; +} + +.fa-cloud-download:before { + content: "\f0ed"; +} + +.fa-cloud-download-alt:before { + content: "\f381"; +} + +.fa-cloud-drizzle:before { + content: "\f738"; +} + +.fa-cloud-hail:before { + content: "\f739"; +} + +.fa-cloud-hail-mixed:before { + content: "\f73a"; +} + +.fa-cloud-meatball:before { + content: "\f73b"; +} + +.fa-cloud-moon:before { + content: "\f6c3"; +} + +.fa-cloud-moon-rain:before { + content: "\f73c"; +} + +.fa-cloud-music:before { + content: "\f8ae"; +} + +.fa-cloud-rain:before { + content: "\f73d"; +} + +.fa-cloud-rainbow:before { + content: "\f73e"; +} + +.fa-cloud-showers:before { + content: "\f73f"; +} + +.fa-cloud-showers-heavy:before { + content: "\f740"; +} + +.fa-cloud-sleet:before { + content: "\f741"; +} + +.fa-cloud-snow:before { + content: "\f742"; +} + +.fa-cloud-sun:before { + content: "\f6c4"; +} + +.fa-cloud-sun-rain:before { + content: "\f743"; +} + +.fa-cloud-upload:before { + content: "\f0ee"; +} + +.fa-cloud-upload-alt:before { + content: "\f382"; +} + +.fa-clouds:before { + content: "\f744"; +} + +.fa-clouds-moon:before { + content: "\f745"; +} + +.fa-clouds-sun:before { + content: "\f746"; +} + +.fa-cloudscale:before { + content: "\f383"; +} + +.fa-cloudsmith:before { + content: "\f384"; +} + +.fa-cloudversify:before { + content: "\f385"; +} + +.fa-club:before { + content: "\f327"; +} + +.fa-cocktail:before { + content: "\f561"; +} + +.fa-code:before { + content: "\f121"; +} + +.fa-code-branch:before { + content: "\f126"; +} + +.fa-code-commit:before { + content: "\f386"; +} + +.fa-code-merge:before { + content: "\f387"; +} + +.fa-codepen:before { + content: "\f1cb"; +} + +.fa-codiepie:before { + content: "\f284"; +} + +.fa-coffee:before { + content: "\f0f4"; +} + +.fa-coffee-pot:before { + content: "\e002"; +} + +.fa-coffee-togo:before { + content: "\f6c5"; +} + +.fa-coffin:before { + content: "\f6c6"; +} + +.fa-coffin-cross:before { + content: "\e051"; +} + +.fa-cog:before { + content: "\f013"; +} + +.fa-cogs:before { + content: "\f085"; +} + +.fa-coin:before { + content: "\f85c"; +} + +.fa-coins:before { + content: "\f51e"; +} + +.fa-columns:before { + content: "\f0db"; +} + +.fa-comet:before { + content: "\e003"; +} + +.fa-comment:before { + content: "\f075"; +} + +.fa-comment-alt:before { + content: "\f27a"; +} + +.fa-comment-alt-check:before { + content: "\f4a2"; +} + +.fa-comment-alt-dollar:before { + content: "\f650"; +} + +.fa-comment-alt-dots:before { + content: "\f4a3"; +} + +.fa-comment-alt-edit:before { + content: "\f4a4"; +} + +.fa-comment-alt-exclamation:before { + content: "\f4a5"; +} + +.fa-comment-alt-lines:before { + content: "\f4a6"; +} + +.fa-comment-alt-medical:before { + content: "\f7f4"; +} + +.fa-comment-alt-minus:before { + content: "\f4a7"; +} + +.fa-comment-alt-music:before { + content: "\f8af"; +} + +.fa-comment-alt-plus:before { + content: "\f4a8"; +} + +.fa-comment-alt-slash:before { + content: "\f4a9"; +} + +.fa-comment-alt-smile:before { + content: "\f4aa"; +} + +.fa-comment-alt-times:before { + content: "\f4ab"; +} + +.fa-comment-check:before { + content: "\f4ac"; +} + +.fa-comment-dollar:before { + content: "\f651"; +} + +.fa-comment-dots:before { + content: "\f4ad"; +} + +.fa-comment-edit:before { + content: "\f4ae"; +} + +.fa-comment-exclamation:before { + content: "\f4af"; +} + +.fa-comment-lines:before { + content: "\f4b0"; +} + +.fa-comment-medical:before { + content: "\f7f5"; +} + +.fa-comment-minus:before { + content: "\f4b1"; +} + +.fa-comment-music:before { + content: "\f8b0"; +} + +.fa-comment-plus:before { + content: "\f4b2"; +} + +.fa-comment-slash:before { + content: "\f4b3"; +} + +.fa-comment-smile:before { + content: "\f4b4"; +} + +.fa-comment-times:before { + content: "\f4b5"; +} + +.fa-comments:before { + content: "\f086"; +} + +.fa-comments-alt:before { + content: "\f4b6"; +} + +.fa-comments-alt-dollar:before { + content: "\f652"; +} + +.fa-comments-dollar:before { + content: "\f653"; +} + +.fa-compact-disc:before { + content: "\f51f"; +} + +.fa-compass:before { + content: "\f14e"; +} + +.fa-compass-slash:before { + content: "\f5e9"; +} + +.fa-compress:before { + content: "\f066"; +} + +.fa-compress-alt:before { + content: "\f422"; +} + +.fa-compress-arrows-alt:before { + content: "\f78c"; +} + +.fa-compress-wide:before { + content: "\f326"; +} + +.fa-computer-classic:before { + content: "\f8b1"; +} + +.fa-computer-speaker:before { + content: "\f8b2"; +} + +.fa-concierge-bell:before { + content: "\f562"; +} + +.fa-confluence:before { + content: "\f78d"; +} + +.fa-connectdevelop:before { + content: "\f20e"; +} + +.fa-construction:before { + content: "\f85d"; +} + +.fa-container-storage:before { + content: "\f4b7"; +} + +.fa-contao:before { + content: "\f26d"; +} + +.fa-conveyor-belt:before { + content: "\f46e"; +} + +.fa-conveyor-belt-alt:before { + content: "\f46f"; +} + +.fa-cookie:before { + content: "\f563"; +} + +.fa-cookie-bite:before { + content: "\f564"; +} + +.fa-copy:before { + content: "\f0c5"; +} + +.fa-copyright:before { + content: "\f1f9"; +} + +.fa-corn:before { + content: "\f6c7"; +} + +.fa-cotton-bureau:before { + content: "\f89e"; +} + +.fa-couch:before { + content: "\f4b8"; +} + +.fa-cow:before { + content: "\f6c8"; +} + +.fa-cowbell:before { + content: "\f8b3"; +} + +.fa-cowbell-more:before { + content: "\f8b4"; +} + +.fa-cpanel:before { + content: "\f388"; +} + +.fa-creative-commons:before { + content: "\f25e"; +} + +.fa-creative-commons-by:before { + content: "\f4e7"; +} + +.fa-creative-commons-nc:before { + content: "\f4e8"; +} + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; +} + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; +} + +.fa-creative-commons-nd:before { + content: "\f4eb"; +} + +.fa-creative-commons-pd:before { + content: "\f4ec"; +} + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; +} + +.fa-creative-commons-remix:before { + content: "\f4ee"; +} + +.fa-creative-commons-sa:before { + content: "\f4ef"; +} + +.fa-creative-commons-sampling:before { + content: "\f4f0"; +} + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; +} + +.fa-creative-commons-share:before { + content: "\f4f2"; +} + +.fa-creative-commons-zero:before { + content: "\f4f3"; +} + +.fa-credit-card:before { + content: "\f09d"; +} + +.fa-credit-card-blank:before { + content: "\f389"; +} + +.fa-credit-card-front:before { + content: "\f38a"; +} + +.fa-cricket:before { + content: "\f449"; +} + +.fa-critical-role:before { + content: "\f6c9"; +} + +.fa-croissant:before { + content: "\f7f6"; +} + +.fa-crop:before { + content: "\f125"; +} + +.fa-crop-alt:before { + content: "\f565"; +} + +.fa-cross:before { + content: "\f654"; +} + +.fa-crosshairs:before { + content: "\f05b"; +} + +.fa-crow:before { + content: "\f520"; +} + +.fa-crown:before { + content: "\f521"; +} + +.fa-crutch:before { + content: "\f7f7"; +} + +.fa-crutches:before { + content: "\f7f8"; +} + +.fa-css3:before { + content: "\f13c"; +} + +.fa-css3-alt:before { + content: "\f38b"; +} + +.fa-cube:before { + content: "\f1b2"; +} + +.fa-cubes:before { + content: "\f1b3"; +} + +.fa-curling:before { + content: "\f44a"; +} + +.fa-cut:before { + content: "\f0c4"; +} + +.fa-cuttlefish:before { + content: "\f38c"; +} + +.fa-d-and-d:before { + content: "\f38d"; +} + +.fa-d-and-d-beyond:before { + content: "\f6ca"; +} + +.fa-dagger:before { + content: "\f6cb"; +} + +.fa-dailymotion:before { + content: "\e052"; +} + +.fa-dashcube:before { + content: "\f210"; +} + +.fa-database:before { + content: "\f1c0"; +} + +.fa-deaf:before { + content: "\f2a4"; +} + +.fa-debug:before { + content: "\f7f9"; +} + +.fa-deer:before { + content: "\f78e"; +} + +.fa-deer-rudolph:before { + content: "\f78f"; +} + +.fa-deezer:before { + content: "\e077"; +} + +.fa-delicious:before { + content: "\f1a5"; +} + +.fa-democrat:before { + content: "\f747"; +} + +.fa-deploydog:before { + content: "\f38e"; +} + +.fa-deskpro:before { + content: "\f38f"; +} + +.fa-desktop:before { + content: "\f108"; +} + +.fa-desktop-alt:before { + content: "\f390"; +} + +.fa-dev:before { + content: "\f6cc"; +} + +.fa-deviantart:before { + content: "\f1bd"; +} + +.fa-dewpoint:before { + content: "\f748"; +} + +.fa-dharmachakra:before { + content: "\f655"; +} + +.fa-dhl:before { + content: "\f790"; +} + +.fa-diagnoses:before { + content: "\f470"; +} + +.fa-diamond:before { + content: "\f219"; +} + +.fa-diaspora:before { + content: "\f791"; +} + +.fa-dice:before { + content: "\f522"; +} + +.fa-dice-d10:before { + content: "\f6cd"; +} + +.fa-dice-d12:before { + content: "\f6ce"; +} + +.fa-dice-d20:before { + content: "\f6cf"; +} + +.fa-dice-d4:before { + content: "\f6d0"; +} + +.fa-dice-d6:before { + content: "\f6d1"; +} + +.fa-dice-d8:before { + content: "\f6d2"; +} + +.fa-dice-five:before { + content: "\f523"; +} + +.fa-dice-four:before { + content: "\f524"; +} + +.fa-dice-one:before { + content: "\f525"; +} + +.fa-dice-six:before { + content: "\f526"; +} + +.fa-dice-three:before { + content: "\f527"; +} + +.fa-dice-two:before { + content: "\f528"; +} + +.fa-digg:before { + content: "\f1a6"; +} + +.fa-digging:before { + content: "\f85e"; +} + +.fa-digital-ocean:before { + content: "\f391"; +} + +.fa-digital-tachograph:before { + content: "\f566"; +} + +.fa-diploma:before { + content: "\f5ea"; +} + +.fa-directions:before { + content: "\f5eb"; +} + +.fa-disc-drive:before { + content: "\f8b5"; +} + +.fa-discord:before { + content: "\f392"; +} + +.fa-discourse:before { + content: "\f393"; +} + +.fa-disease:before { + content: "\f7fa"; +} + +.fa-divide:before { + content: "\f529"; +} + +.fa-dizzy:before { + content: "\f567"; +} + +.fa-dna:before { + content: "\f471"; +} + +.fa-do-not-enter:before { + content: "\f5ec"; +} + +.fa-dochub:before { + content: "\f394"; +} + +.fa-docker:before { + content: "\f395"; +} + +.fa-dog:before { + content: "\f6d3"; +} + +.fa-dog-leashed:before { + content: "\f6d4"; +} + +.fa-dollar-sign:before { + content: "\f155"; +} + +.fa-dolly:before { + content: "\f472"; +} + +.fa-dolly-empty:before { + content: "\f473"; +} + +.fa-dolly-flatbed:before { + content: "\f474"; +} + +.fa-dolly-flatbed-alt:before { + content: "\f475"; +} + +.fa-dolly-flatbed-empty:before { + content: "\f476"; +} + +.fa-donate:before { + content: "\f4b9"; +} + +.fa-door-closed:before { + content: "\f52a"; +} + +.fa-door-open:before { + content: "\f52b"; +} + +.fa-dot-circle:before { + content: "\f192"; +} + +.fa-dove:before { + content: "\f4ba"; +} + +.fa-download:before { + content: "\f019"; +} + +.fa-draft2digital:before { + content: "\f396"; +} + +.fa-drafting-compass:before { + content: "\f568"; +} + +.fa-dragon:before { + content: "\f6d5"; +} + +.fa-draw-circle:before { + content: "\f5ed"; +} + +.fa-draw-polygon:before { + content: "\f5ee"; +} + +.fa-draw-square:before { + content: "\f5ef"; +} + +.fa-dreidel:before { + content: "\f792"; +} + +.fa-dribbble:before { + content: "\f17d"; +} + +.fa-dribbble-square:before { + content: "\f397"; +} + +.fa-drone:before { + content: "\f85f"; +} + +.fa-drone-alt:before { + content: "\f860"; +} + +.fa-dropbox:before { + content: "\f16b"; +} + +.fa-drum:before { + content: "\f569"; +} + +.fa-drum-steelpan:before { + content: "\f56a"; +} + +.fa-drumstick:before { + content: "\f6d6"; +} + +.fa-drumstick-bite:before { + content: "\f6d7"; +} + +.fa-drupal:before { + content: "\f1a9"; +} + +.fa-dryer:before { + content: "\f861"; +} + +.fa-dryer-alt:before { + content: "\f862"; +} + +.fa-duck:before { + content: "\f6d8"; +} + +.fa-dumbbell:before { + content: "\f44b"; +} + +.fa-dumpster:before { + content: "\f793"; +} + +.fa-dumpster-fire:before { + content: "\f794"; +} + +.fa-dungeon:before { + content: "\f6d9"; +} + +.fa-dyalog:before { + content: "\f399"; +} + +.fa-ear:before { + content: "\f5f0"; +} + +.fa-ear-muffs:before { + content: "\f795"; +} + +.fa-earlybirds:before { + content: "\f39a"; +} + +.fa-ebay:before { + content: "\f4f4"; +} + +.fa-eclipse:before { + content: "\f749"; +} + +.fa-eclipse-alt:before { + content: "\f74a"; +} + +.fa-edge:before { + content: "\f282"; +} + +.fa-edge-legacy:before { + content: "\e078"; +} + +.fa-edit:before { + content: "\f044"; +} + +.fa-egg:before { + content: "\f7fb"; +} + +.fa-egg-fried:before { + content: "\f7fc"; +} + +.fa-eject:before { + content: "\f052"; +} + +.fa-elementor:before { + content: "\f430"; +} + +.fa-elephant:before { + content: "\f6da"; +} + +.fa-ellipsis-h:before { + content: "\f141"; +} + +.fa-ellipsis-h-alt:before { + content: "\f39b"; +} + +.fa-ellipsis-v:before { + content: "\f142"; +} + +.fa-ellipsis-v-alt:before { + content: "\f39c"; +} + +.fa-ello:before { + content: "\f5f1"; +} + +.fa-ember:before { + content: "\f423"; +} + +.fa-empire:before { + content: "\f1d1"; +} + +.fa-empty-set:before { + content: "\f656"; +} + +.fa-engine-warning:before { + content: "\f5f2"; +} + +.fa-envelope:before { + content: "\f0e0"; +} + +.fa-envelope-open:before { + content: "\f2b6"; +} + +.fa-envelope-open-dollar:before { + content: "\f657"; +} + +.fa-envelope-open-text:before { + content: "\f658"; +} + +.fa-envelope-square:before { + content: "\f199"; +} + +.fa-envira:before { + content: "\f299"; +} + +.fa-equals:before { + content: "\f52c"; +} + +.fa-eraser:before { + content: "\f12d"; +} + +.fa-erlang:before { + content: "\f39d"; +} + +.fa-ethereum:before { + content: "\f42e"; +} + +.fa-ethernet:before { + content: "\f796"; +} + +.fa-etsy:before { + content: "\f2d7"; +} + +.fa-euro-sign:before { + content: "\f153"; +} + +.fa-evernote:before { + content: "\f839"; +} + +.fa-exchange:before { + content: "\f0ec"; +} + +.fa-exchange-alt:before { + content: "\f362"; +} + +.fa-exclamation:before { + content: "\f12a"; +} + +.fa-exclamation-circle:before { + content: "\f06a"; +} + +.fa-exclamation-square:before { + content: "\f321"; +} + +.fa-exclamation-triangle:before { + content: "\f071"; +} + +.fa-expand:before { + content: "\f065"; +} + +.fa-expand-alt:before { + content: "\f424"; +} + +.fa-expand-arrows:before { + content: "\f31d"; +} + +.fa-expand-arrows-alt:before { + content: "\f31e"; +} + +.fa-expand-wide:before { + content: "\f320"; +} + +.fa-expeditedssl:before { + content: "\f23e"; +} + +.fa-external-link:before { + content: "\f08e"; +} + +.fa-external-link-alt:before { + content: "\f35d"; +} + +.fa-external-link-square:before { + content: "\f14c"; +} + +.fa-external-link-square-alt:before { + content: "\f360"; +} + +.fa-eye:before { + content: "\f06e"; +} + +.fa-eye-dropper:before { + content: "\f1fb"; +} + +.fa-eye-evil:before { + content: "\f6db"; +} + +.fa-eye-slash:before { + content: "\f070"; +} + +.fa-facebook:before { + content: "\f09a"; +} + +.fa-facebook-f:before { + content: "\f39e"; +} + +.fa-facebook-messenger:before { + content: "\f39f"; +} + +.fa-facebook-square:before { + content: "\f082"; +} + +.fa-fan:before { + content: "\f863"; +} + +.fa-fan-table:before { + content: "\e004"; +} + +.fa-fantasy-flight-games:before { + content: "\f6dc"; +} + +.fa-farm:before { + content: "\f864"; +} + +.fa-fast-backward:before { + content: "\f049"; +} + +.fa-fast-forward:before { + content: "\f050"; +} + +.fa-faucet:before { + content: "\e005"; +} + +.fa-faucet-drip:before { + content: "\e006"; +} + +.fa-fax:before { + content: "\f1ac"; +} + +.fa-feather:before { + content: "\f52d"; +} + +.fa-feather-alt:before { + content: "\f56b"; +} + +.fa-fedex:before { + content: "\f797"; +} + +.fa-fedora:before { + content: "\f798"; +} + +.fa-female:before { + content: "\f182"; +} + +.fa-field-hockey:before { + content: "\f44c"; +} + +.fa-fighter-jet:before { + content: "\f0fb"; +} + +.fa-figma:before { + content: "\f799"; +} + +.fa-file:before { + content: "\f15b"; +} + +.fa-file-alt:before { + content: "\f15c"; +} + +.fa-file-archive:before { + content: "\f1c6"; +} + +.fa-file-audio:before { + content: "\f1c7"; +} + +.fa-file-certificate:before { + content: "\f5f3"; +} + +.fa-file-chart-line:before { + content: "\f659"; +} + +.fa-file-chart-pie:before { + content: "\f65a"; +} + +.fa-file-check:before { + content: "\f316"; +} + +.fa-file-code:before { + content: "\f1c9"; +} + +.fa-file-contract:before { + content: "\f56c"; +} + +.fa-file-csv:before { + content: "\f6dd"; +} + +.fa-file-download:before { + content: "\f56d"; +} + +.fa-file-edit:before { + content: "\f31c"; +} + +.fa-file-excel:before { + content: "\f1c3"; +} + +.fa-file-exclamation:before { + content: "\f31a"; +} + +.fa-file-export:before { + content: "\f56e"; +} + +.fa-file-image:before { + content: "\f1c5"; +} + +.fa-file-import:before { + content: "\f56f"; +} + +.fa-file-invoice:before { + content: "\f570"; +} + +.fa-file-invoice-dollar:before { + content: "\f571"; +} + +.fa-file-medical:before { + content: "\f477"; +} + +.fa-file-medical-alt:before { + content: "\f478"; +} + +.fa-file-minus:before { + content: "\f318"; +} + +.fa-file-music:before { + content: "\f8b6"; +} + +.fa-file-pdf:before { + content: "\f1c1"; +} + +.fa-file-plus:before { + content: "\f319"; +} + +.fa-file-powerpoint:before { + content: "\f1c4"; +} + +.fa-file-prescription:before { + content: "\f572"; +} + +.fa-file-search:before { + content: "\f865"; +} + +.fa-file-signature:before { + content: "\f573"; +} + +.fa-file-spreadsheet:before { + content: "\f65b"; +} + +.fa-file-times:before { + content: "\f317"; +} + +.fa-file-upload:before { + content: "\f574"; +} + +.fa-file-user:before { + content: "\f65c"; +} + +.fa-file-video:before { + content: "\f1c8"; +} + +.fa-file-word:before { + content: "\f1c2"; +} + +.fa-files-medical:before { + content: "\f7fd"; +} + +.fa-fill:before { + content: "\f575"; +} + +.fa-fill-drip:before { + content: "\f576"; +} + +.fa-film:before { + content: "\f008"; +} + +.fa-film-alt:before { + content: "\f3a0"; +} + +.fa-film-canister:before { + content: "\f8b7"; +} + +.fa-filter:before { + content: "\f0b0"; +} + +.fa-fingerprint:before { + content: "\f577"; +} + +.fa-fire:before { + content: "\f06d"; +} + +.fa-fire-alt:before { + content: "\f7e4"; +} + +.fa-fire-extinguisher:before { + content: "\f134"; +} + +.fa-fire-smoke:before { + content: "\f74b"; +} + +.fa-firefox:before { + content: "\f269"; +} + +.fa-firefox-browser:before { + content: "\e007"; +} + +.fa-fireplace:before { + content: "\f79a"; +} + +.fa-first-aid:before { + content: "\f479"; +} + +.fa-first-order:before { + content: "\f2b0"; +} + +.fa-first-order-alt:before { + content: "\f50a"; +} + +.fa-firstdraft:before { + content: "\f3a1"; +} + +.fa-fish:before { + content: "\f578"; +} + +.fa-fish-cooked:before { + content: "\f7fe"; +} + +.fa-fist-raised:before { + content: "\f6de"; +} + +.fa-flag:before { + content: "\f024"; +} + +.fa-flag-alt:before { + content: "\f74c"; +} + +.fa-flag-checkered:before { + content: "\f11e"; +} + +.fa-flag-usa:before { + content: "\f74d"; +} + +.fa-flame:before { + content: "\f6df"; +} + +.fa-flashlight:before { + content: "\f8b8"; +} + +.fa-flask:before { + content: "\f0c3"; +} + +.fa-flask-poison:before { + content: "\f6e0"; +} + +.fa-flask-potion:before { + content: "\f6e1"; +} + +.fa-flickr:before { + content: "\f16e"; +} + +.fa-flipboard:before { + content: "\f44d"; +} + +.fa-flower:before { + content: "\f7ff"; +} + +.fa-flower-daffodil:before { + content: "\f800"; +} + +.fa-flower-tulip:before { + content: "\f801"; +} + +.fa-flushed:before { + content: "\f579"; +} + +.fa-flute:before { + content: "\f8b9"; +} + +.fa-flux-capacitor:before { + content: "\f8ba"; +} + +.fa-fly:before { + content: "\f417"; +} + +.fa-fog:before { + content: "\f74e"; +} + +.fa-folder:before { + content: "\f07b"; +} + +.fa-folder-download:before { + content: "\e053"; +} + +.fa-folder-minus:before { + content: "\f65d"; +} + +.fa-folder-open:before { + content: "\f07c"; +} + +.fa-folder-plus:before { + content: "\f65e"; +} + +.fa-folder-times:before { + content: "\f65f"; +} + +.fa-folder-tree:before { + content: "\f802"; +} + +.fa-folder-upload:before { + content: "\e054"; +} + +.fa-folders:before { + content: "\f660"; +} + +.fa-font:before { + content: "\f031"; +} + +.fa-font-awesome:before { + content: "\f2b4"; +} + +.fa-font-awesome-alt:before { + content: "\f35c"; +} + +.fa-font-awesome-flag:before { + content: "\f425"; +} + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; +} + +.fa-font-case:before { + content: "\f866"; +} + +.fa-fonticons:before { + content: "\f280"; +} + +.fa-fonticons-fi:before { + content: "\f3a2"; +} + +.fa-football-ball:before { + content: "\f44e"; +} + +.fa-football-helmet:before { + content: "\f44f"; +} + +.fa-forklift:before { + content: "\f47a"; +} + +.fa-fort-awesome:before { + content: "\f286"; +} + +.fa-fort-awesome-alt:before { + content: "\f3a3"; +} + +.fa-forumbee:before { + content: "\f211"; +} + +.fa-forward:before { + content: "\f04e"; +} + +.fa-foursquare:before { + content: "\f180"; +} + +.fa-fragile:before { + content: "\f4bb"; +} + +.fa-free-code-camp:before { + content: "\f2c5"; +} + +.fa-freebsd:before { + content: "\f3a4"; +} + +.fa-french-fries:before { + content: "\f803"; +} + +.fa-frog:before { + content: "\f52e"; +} + +.fa-frosty-head:before { + content: "\f79b"; +} + +.fa-frown:before { + content: "\f119"; +} + +.fa-frown-open:before { + content: "\f57a"; +} + +.fa-fulcrum:before { + content: "\f50b"; +} + +.fa-function:before { + content: "\f661"; +} + +.fa-funnel-dollar:before { + content: "\f662"; +} + +.fa-futbol:before { + content: "\f1e3"; +} + +.fa-galactic-republic:before { + content: "\f50c"; +} + +.fa-galactic-senate:before { + content: "\f50d"; +} + +.fa-galaxy:before { + content: "\e008"; +} + +.fa-game-board:before { + content: "\f867"; +} + +.fa-game-board-alt:before { + content: "\f868"; +} + +.fa-game-console-handheld:before { + content: "\f8bb"; +} + +.fa-gamepad:before { + content: "\f11b"; +} + +.fa-gamepad-alt:before { + content: "\f8bc"; +} + +.fa-garage:before { + content: "\e009"; +} + +.fa-garage-car:before { + content: "\e00a"; +} + +.fa-garage-open:before { + content: "\e00b"; +} + +.fa-gas-pump:before { + content: "\f52f"; +} + +.fa-gas-pump-slash:before { + content: "\f5f4"; +} + +.fa-gavel:before { + content: "\f0e3"; +} + +.fa-gem:before { + content: "\f3a5"; +} + +.fa-genderless:before { + content: "\f22d"; +} + +.fa-get-pocket:before { + content: "\f265"; +} + +.fa-gg:before { + content: "\f260"; +} + +.fa-gg-circle:before { + content: "\f261"; +} + +.fa-ghost:before { + content: "\f6e2"; +} + +.fa-gift:before { + content: "\f06b"; +} + +.fa-gift-card:before { + content: "\f663"; +} + +.fa-gifts:before { + content: "\f79c"; +} + +.fa-gingerbread-man:before { + content: "\f79d"; +} + +.fa-git:before { + content: "\f1d3"; +} + +.fa-git-alt:before { + content: "\f841"; +} + +.fa-git-square:before { + content: "\f1d2"; +} + +.fa-github:before { + content: "\f09b"; +} + +.fa-github-alt:before { + content: "\f113"; +} + +.fa-github-square:before { + content: "\f092"; +} + +.fa-gitkraken:before { + content: "\f3a6"; +} + +.fa-gitlab:before { + content: "\f296"; +} + +.fa-gitter:before { + content: "\f426"; +} + +.fa-glass:before { + content: "\f804"; +} + +.fa-glass-champagne:before { + content: "\f79e"; +} + +.fa-glass-cheers:before { + content: "\f79f"; +} + +.fa-glass-citrus:before { + content: "\f869"; +} + +.fa-glass-martini:before { + content: "\f000"; +} + +.fa-glass-martini-alt:before { + content: "\f57b"; +} + +.fa-glass-whiskey:before { + content: "\f7a0"; +} + +.fa-glass-whiskey-rocks:before { + content: "\f7a1"; +} + +.fa-glasses:before { + content: "\f530"; +} + +.fa-glasses-alt:before { + content: "\f5f5"; +} + +.fa-glide:before { + content: "\f2a5"; +} + +.fa-glide-g:before { + content: "\f2a6"; +} + +.fa-globe:before { + content: "\f0ac"; +} + +.fa-globe-africa:before { + content: "\f57c"; +} + +.fa-globe-americas:before { + content: "\f57d"; +} + +.fa-globe-asia:before { + content: "\f57e"; +} + +.fa-globe-europe:before { + content: "\f7a2"; +} + +.fa-globe-snow:before { + content: "\f7a3"; +} + +.fa-globe-stand:before { + content: "\f5f6"; +} + +.fa-gofore:before { + content: "\f3a7"; +} + +.fa-golf-ball:before { + content: "\f450"; +} + +.fa-golf-club:before { + content: "\f451"; +} + +.fa-goodreads:before { + content: "\f3a8"; +} + +.fa-goodreads-g:before { + content: "\f3a9"; +} + +.fa-google:before { + content: "\f1a0"; +} + +.fa-google-drive:before { + content: "\f3aa"; +} + +.fa-google-pay:before { + content: "\e079"; +} + +.fa-google-play:before { + content: "\f3ab"; +} + +.fa-google-plus:before { + content: "\f2b3"; +} + +.fa-google-plus-g:before { + content: "\f0d5"; +} + +.fa-google-plus-square:before { + content: "\f0d4"; +} + +.fa-google-wallet:before { + content: "\f1ee"; +} + +.fa-gopuram:before { + content: "\f664"; +} + +.fa-graduation-cap:before { + content: "\f19d"; +} + +.fa-gramophone:before { + content: "\f8bd"; +} + +.fa-gratipay:before { + content: "\f184"; +} + +.fa-grav:before { + content: "\f2d6"; +} + +.fa-greater-than:before { + content: "\f531"; +} + +.fa-greater-than-equal:before { + content: "\f532"; +} + +.fa-grimace:before { + content: "\f57f"; +} + +.fa-grin:before { + content: "\f580"; +} + +.fa-grin-alt:before { + content: "\f581"; +} + +.fa-grin-beam:before { + content: "\f582"; +} + +.fa-grin-beam-sweat:before { + content: "\f583"; +} + +.fa-grin-hearts:before { + content: "\f584"; +} + +.fa-grin-squint:before { + content: "\f585"; +} + +.fa-grin-squint-tears:before { + content: "\f586"; +} + +.fa-grin-stars:before { + content: "\f587"; +} + +.fa-grin-tears:before { + content: "\f588"; +} + +.fa-grin-tongue:before { + content: "\f589"; +} + +.fa-grin-tongue-squint:before { + content: "\f58a"; +} + +.fa-grin-tongue-wink:before { + content: "\f58b"; +} + +.fa-grin-wink:before { + content: "\f58c"; +} + +.fa-grip-horizontal:before { + content: "\f58d"; +} + +.fa-grip-lines:before { + content: "\f7a4"; +} + +.fa-grip-lines-vertical:before { + content: "\f7a5"; +} + +.fa-grip-vertical:before { + content: "\f58e"; +} + +.fa-gripfire:before { + content: "\f3ac"; +} + +.fa-grunt:before { + content: "\f3ad"; +} + +.fa-guitar:before { + content: "\f7a6"; +} + +.fa-guitar-electric:before { + content: "\f8be"; +} + +.fa-guitars:before { + content: "\f8bf"; +} + +.fa-gulp:before { + content: "\f3ae"; +} + +.fa-h-square:before { + content: "\f0fd"; +} + +.fa-h1:before { + content: "\f313"; +} + +.fa-h2:before { + content: "\f314"; +} + +.fa-h3:before { + content: "\f315"; +} + +.fa-h4:before { + content: "\f86a"; +} + +.fa-hacker-news:before { + content: "\f1d4"; +} + +.fa-hacker-news-square:before { + content: "\f3af"; +} + +.fa-hackerrank:before { + content: "\f5f7"; +} + +.fa-hamburger:before { + content: "\f805"; +} + +.fa-hammer:before { + content: "\f6e3"; +} + +.fa-hammer-war:before { + content: "\f6e4"; +} + +.fa-hamsa:before { + content: "\f665"; +} + +.fa-hand-heart:before { + content: "\f4bc"; +} + +.fa-hand-holding:before { + content: "\f4bd"; +} + +.fa-hand-holding-box:before { + content: "\f47b"; +} + +.fa-hand-holding-heart:before { + content: "\f4be"; +} + +.fa-hand-holding-magic:before { + content: "\f6e5"; +} + +.fa-hand-holding-medical:before { + content: "\e05c"; +} + +.fa-hand-holding-seedling:before { + content: "\f4bf"; +} + +.fa-hand-holding-usd:before { + content: "\f4c0"; +} + +.fa-hand-holding-water:before { + content: "\f4c1"; +} + +.fa-hand-lizard:before { + content: "\f258"; +} + +.fa-hand-middle-finger:before { + content: "\f806"; +} + +.fa-hand-paper:before { + content: "\f256"; +} + +.fa-hand-peace:before { + content: "\f25b"; +} + +.fa-hand-point-down:before { + content: "\f0a7"; +} + +.fa-hand-point-left:before { + content: "\f0a5"; +} + +.fa-hand-point-right:before { + content: "\f0a4"; +} + +.fa-hand-point-up:before { + content: "\f0a6"; +} + +.fa-hand-pointer:before { + content: "\f25a"; +} + +.fa-hand-receiving:before { + content: "\f47c"; +} + +.fa-hand-rock:before { + content: "\f255"; +} + +.fa-hand-scissors:before { + content: "\f257"; +} + +.fa-hand-sparkles:before { + content: "\e05d"; +} + +.fa-hand-spock:before { + content: "\f259"; +} + +.fa-hands:before { + content: "\f4c2"; +} + +.fa-hands-heart:before { + content: "\f4c3"; +} + +.fa-hands-helping:before { + content: "\f4c4"; +} + +.fa-hands-usd:before { + content: "\f4c5"; +} + +.fa-hands-wash:before { + content: "\e05e"; +} + +.fa-handshake:before { + content: "\f2b5"; +} + +.fa-handshake-alt:before { + content: "\f4c6"; +} + +.fa-handshake-alt-slash:before { + content: "\e05f"; +} + +.fa-handshake-slash:before { + content: "\e060"; +} + +.fa-hanukiah:before { + content: "\f6e6"; +} + +.fa-hard-hat:before { + content: "\f807"; +} + +.fa-hashtag:before { + content: "\f292"; +} + +.fa-hat-chef:before { + content: "\f86b"; +} + +.fa-hat-cowboy:before { + content: "\f8c0"; +} + +.fa-hat-cowboy-side:before { + content: "\f8c1"; +} + +.fa-hat-santa:before { + content: "\f7a7"; +} + +.fa-hat-winter:before { + content: "\f7a8"; +} + +.fa-hat-witch:before { + content: "\f6e7"; +} + +.fa-hat-wizard:before { + content: "\f6e8"; +} + +.fa-hdd:before { + content: "\f0a0"; +} + +.fa-head-side:before { + content: "\f6e9"; +} + +.fa-head-side-brain:before { + content: "\f808"; +} + +.fa-head-side-cough:before { + content: "\e061"; +} + +.fa-head-side-cough-slash:before { + content: "\e062"; +} + +.fa-head-side-headphones:before { + content: "\f8c2"; +} + +.fa-head-side-mask:before { + content: "\e063"; +} + +.fa-head-side-medical:before { + content: "\f809"; +} + +.fa-head-side-virus:before { + content: "\e064"; +} + +.fa-head-vr:before { + content: "\f6ea"; +} + +.fa-heading:before { + content: "\f1dc"; +} + +.fa-headphones:before { + content: "\f025"; +} + +.fa-headphones-alt:before { + content: "\f58f"; +} + +.fa-headset:before { + content: "\f590"; +} + +.fa-heart:before { + content: "\f004"; +} + +.fa-heart-broken:before { + content: "\f7a9"; +} + +.fa-heart-circle:before { + content: "\f4c7"; +} + +.fa-heart-rate:before { + content: "\f5f8"; +} + +.fa-heart-square:before { + content: "\f4c8"; +} + +.fa-heartbeat:before { + content: "\f21e"; +} + +.fa-heat:before { + content: "\e00c"; +} + +.fa-helicopter:before { + content: "\f533"; +} + +.fa-helmet-battle:before { + content: "\f6eb"; +} + +.fa-hexagon:before { + content: "\f312"; +} + +.fa-highlighter:before { + content: "\f591"; +} + +.fa-hiking:before { + content: "\f6ec"; +} + +.fa-hippo:before { + content: "\f6ed"; +} + +.fa-hips:before { + content: "\f452"; +} + +.fa-hire-a-helper:before { + content: "\f3b0"; +} + +.fa-history:before { + content: "\f1da"; +} + +.fa-hockey-mask:before { + content: "\f6ee"; +} + +.fa-hockey-puck:before { + content: "\f453"; +} + +.fa-hockey-sticks:before { + content: "\f454"; +} + +.fa-holly-berry:before { + content: "\f7aa"; +} + +.fa-home:before { + content: "\f015"; +} + +.fa-home-alt:before { + content: "\f80a"; +} + +.fa-home-heart:before { + content: "\f4c9"; +} + +.fa-home-lg:before { + content: "\f80b"; +} + +.fa-home-lg-alt:before { + content: "\f80c"; +} + +.fa-hood-cloak:before { + content: "\f6ef"; +} + +.fa-hooli:before { + content: "\f427"; +} + +.fa-horizontal-rule:before { + content: "\f86c"; +} + +.fa-hornbill:before { + content: "\f592"; +} + +.fa-horse:before { + content: "\f6f0"; +} + +.fa-horse-head:before { + content: "\f7ab"; +} + +.fa-horse-saddle:before { + content: "\f8c3"; +} + +.fa-hospital:before { + content: "\f0f8"; +} + +.fa-hospital-alt:before { + content: "\f47d"; +} + +.fa-hospital-symbol:before { + content: "\f47e"; +} + +.fa-hospital-user:before { + content: "\f80d"; +} + +.fa-hospitals:before { + content: "\f80e"; +} + +.fa-hot-tub:before { + content: "\f593"; +} + +.fa-hotdog:before { + content: "\f80f"; +} + +.fa-hotel:before { + content: "\f594"; +} + +.fa-hotjar:before { + content: "\f3b1"; +} + +.fa-hourglass:before { + content: "\f254"; +} + +.fa-hourglass-end:before { + content: "\f253"; +} + +.fa-hourglass-half:before { + content: "\f252"; +} + +.fa-hourglass-start:before { + content: "\f251"; +} + +.fa-house:before { + content: "\e00d"; +} + +.fa-house-damage:before { + content: "\f6f1"; +} + +.fa-house-day:before { + content: "\e00e"; +} + +.fa-house-flood:before { + content: "\f74f"; +} + +.fa-house-leave:before { + content: "\e00f"; +} + +.fa-house-night:before { + content: "\e010"; +} + +.fa-house-return:before { + content: "\e011"; +} + +.fa-house-signal:before { + content: "\e012"; +} + +.fa-house-user:before { + content: "\e065"; +} + +.fa-houzz:before { + content: "\f27c"; +} + +.fa-hryvnia:before { + content: "\f6f2"; +} + +.fa-html5:before { + content: "\f13b"; +} + +.fa-hubspot:before { + content: "\f3b2"; +} + +.fa-humidity:before { + content: "\f750"; +} + +.fa-hurricane:before { + content: "\f751"; +} + +.fa-i-cursor:before { + content: "\f246"; +} + +.fa-ice-cream:before { + content: "\f810"; +} + +.fa-ice-skate:before { + content: "\f7ac"; +} + +.fa-icicles:before { + content: "\f7ad"; +} + +.fa-icons:before { + content: "\f86d"; +} + +.fa-icons-alt:before { + content: "\f86e"; +} + +.fa-id-badge:before { + content: "\f2c1"; +} + +.fa-id-card:before { + content: "\f2c2"; +} + +.fa-id-card-alt:before { + content: "\f47f"; +} + +.fa-ideal:before { + content: "\e013"; +} + +.fa-igloo:before { + content: "\f7ae"; +} + +.fa-image:before { + content: "\f03e"; +} + +.fa-image-polaroid:before { + content: "\f8c4"; +} + +.fa-images:before { + content: "\f302"; +} + +.fa-imdb:before { + content: "\f2d8"; +} + +.fa-inbox:before { + content: "\f01c"; +} + +.fa-inbox-in:before { + content: "\f310"; +} + +.fa-inbox-out:before { + content: "\f311"; +} + +.fa-indent:before { + content: "\f03c"; +} + +.fa-industry:before { + content: "\f275"; +} + +.fa-industry-alt:before { + content: "\f3b3"; +} + +.fa-infinity:before { + content: "\f534"; +} + +.fa-info:before { + content: "\f129"; +} + +.fa-info-circle:before { + content: "\f05a"; +} + +.fa-info-square:before { + content: "\f30f"; +} + +.fa-inhaler:before { + content: "\f5f9"; +} + +.fa-instagram:before { + content: "\f16d"; +} + +.fa-instagram-square:before { + content: "\e055"; +} + +.fa-integral:before { + content: "\f667"; +} + +.fa-intercom:before { + content: "\f7af"; +} + +.fa-internet-explorer:before { + content: "\f26b"; +} + +.fa-intersection:before { + content: "\f668"; +} + +.fa-inventory:before { + content: "\f480"; +} + +.fa-invision:before { + content: "\f7b0"; +} + +.fa-ioxhost:before { + content: "\f208"; +} + +.fa-island-tropical:before { + content: "\f811"; +} + +.fa-italic:before { + content: "\f033"; +} + +.fa-itch-io:before { + content: "\f83a"; +} + +.fa-itunes:before { + content: "\f3b4"; +} + +.fa-itunes-note:before { + content: "\f3b5"; +} + +.fa-jack-o-lantern:before { + content: "\f30e"; +} + +.fa-java:before { + content: "\f4e4"; +} + +.fa-jedi:before { + content: "\f669"; +} + +.fa-jedi-order:before { + content: "\f50e"; +} + +.fa-jenkins:before { + content: "\f3b6"; +} + +.fa-jira:before { + content: "\f7b1"; +} + +.fa-joget:before { + content: "\f3b7"; +} + +.fa-joint:before { + content: "\f595"; +} + +.fa-joomla:before { + content: "\f1aa"; +} + +.fa-journal-whills:before { + content: "\f66a"; +} + +.fa-joystick:before { + content: "\f8c5"; +} + +.fa-js:before { + content: "\f3b8"; +} + +.fa-js-square:before { + content: "\f3b9"; +} + +.fa-jsfiddle:before { + content: "\f1cc"; +} + +.fa-jug:before { + content: "\f8c6"; +} + +.fa-kaaba:before { + content: "\f66b"; +} + +.fa-kaggle:before { + content: "\f5fa"; +} + +.fa-kazoo:before { + content: "\f8c7"; +} + +.fa-kerning:before { + content: "\f86f"; +} + +.fa-key:before { + content: "\f084"; +} + +.fa-key-skeleton:before { + content: "\f6f3"; +} + +.fa-keybase:before { + content: "\f4f5"; +} + +.fa-keyboard:before { + content: "\f11c"; +} + +.fa-keycdn:before { + content: "\f3ba"; +} + +.fa-keynote:before { + content: "\f66c"; +} + +.fa-khanda:before { + content: "\f66d"; +} + +.fa-kickstarter:before { + content: "\f3bb"; +} + +.fa-kickstarter-k:before { + content: "\f3bc"; +} + +.fa-kidneys:before { + content: "\f5fb"; +} + +.fa-kiss:before { + content: "\f596"; +} + +.fa-kiss-beam:before { + content: "\f597"; +} + +.fa-kiss-wink-heart:before { + content: "\f598"; +} + +.fa-kite:before { + content: "\f6f4"; +} + +.fa-kiwi-bird:before { + content: "\f535"; +} + +.fa-knife-kitchen:before { + content: "\f6f5"; +} + +.fa-korvue:before { + content: "\f42f"; +} + +.fa-lambda:before { + content: "\f66e"; +} + +.fa-lamp:before { + content: "\f4ca"; +} + +.fa-lamp-desk:before { + content: "\e014"; +} + +.fa-lamp-floor:before { + content: "\e015"; +} + +.fa-landmark:before { + content: "\f66f"; +} + +.fa-landmark-alt:before { + content: "\f752"; +} + +.fa-language:before { + content: "\f1ab"; +} + +.fa-laptop:before { + content: "\f109"; +} + +.fa-laptop-code:before { + content: "\f5fc"; +} + +.fa-laptop-house:before { + content: "\e066"; +} + +.fa-laptop-medical:before { + content: "\f812"; +} + +.fa-laravel:before { + content: "\f3bd"; +} + +.fa-lasso:before { + content: "\f8c8"; +} + +.fa-lastfm:before { + content: "\f202"; +} + +.fa-lastfm-square:before { + content: "\f203"; +} + +.fa-laugh:before { + content: "\f599"; +} + +.fa-laugh-beam:before { + content: "\f59a"; +} + +.fa-laugh-squint:before { + content: "\f59b"; +} + +.fa-laugh-wink:before { + content: "\f59c"; +} + +.fa-layer-group:before { + content: "\f5fd"; +} + +.fa-layer-minus:before { + content: "\f5fe"; +} + +.fa-layer-plus:before { + content: "\f5ff"; +} + +.fa-leaf:before { + content: "\f06c"; +} + +.fa-leaf-heart:before { + content: "\f4cb"; +} + +.fa-leaf-maple:before { + content: "\f6f6"; +} + +.fa-leaf-oak:before { + content: "\f6f7"; +} + +.fa-leanpub:before { + content: "\f212"; +} + +.fa-lemon:before { + content: "\f094"; +} + +.fa-less:before { + content: "\f41d"; +} + +.fa-less-than:before { + content: "\f536"; +} + +.fa-less-than-equal:before { + content: "\f537"; +} + +.fa-level-down:before { + content: "\f149"; +} + +.fa-level-down-alt:before { + content: "\f3be"; +} + +.fa-level-up:before { + content: "\f148"; +} + +.fa-level-up-alt:before { + content: "\f3bf"; +} + +.fa-life-ring:before { + content: "\f1cd"; +} + +.fa-light-ceiling:before { + content: "\e016"; +} + +.fa-light-switch:before { + content: "\e017"; +} + +.fa-light-switch-off:before { + content: "\e018"; +} + +.fa-light-switch-on:before { + content: "\e019"; +} + +.fa-lightbulb:before { + content: "\f0eb"; +} + +.fa-lightbulb-dollar:before { + content: "\f670"; +} + +.fa-lightbulb-exclamation:before { + content: "\f671"; +} + +.fa-lightbulb-on:before { + content: "\f672"; +} + +.fa-lightbulb-slash:before { + content: "\f673"; +} + +.fa-lights-holiday:before { + content: "\f7b2"; +} + +.fa-line:before { + content: "\f3c0"; +} + +.fa-line-columns:before { + content: "\f870"; +} + +.fa-line-height:before { + content: "\f871"; +} + +.fa-link:before { + content: "\f0c1"; +} + +.fa-linkedin:before { + content: "\f08c"; +} + +.fa-linkedin-in:before { + content: "\f0e1"; +} + +.fa-linode:before { + content: "\f2b8"; +} + +.fa-linux:before { + content: "\f17c"; +} + +.fa-lips:before { + content: "\f600"; +} + +.fa-lira-sign:before { + content: "\f195"; +} + +.fa-list:before { + content: "\f03a"; +} + +.fa-list-alt:before { + content: "\f022"; +} + +.fa-list-music:before { + content: "\f8c9"; +} + +.fa-list-ol:before { + content: "\f0cb"; +} + +.fa-list-ul:before { + content: "\f0ca"; +} + +.fa-location:before { + content: "\f601"; +} + +.fa-location-arrow:before { + content: "\f124"; +} + +.fa-location-circle:before { + content: "\f602"; +} + +.fa-location-slash:before { + content: "\f603"; +} + +.fa-lock:before { + content: "\f023"; +} + +.fa-lock-alt:before { + content: "\f30d"; +} + +.fa-lock-open:before { + content: "\f3c1"; +} + +.fa-lock-open-alt:before { + content: "\f3c2"; +} + +.fa-long-arrow-alt-down:before { + content: "\f309"; +} + +.fa-long-arrow-alt-left:before { + content: "\f30a"; +} + +.fa-long-arrow-alt-right:before { + content: "\f30b"; +} + +.fa-long-arrow-alt-up:before { + content: "\f30c"; +} + +.fa-long-arrow-down:before { + content: "\f175"; +} + +.fa-long-arrow-left:before { + content: "\f177"; +} + +.fa-long-arrow-right:before { + content: "\f178"; +} + +.fa-long-arrow-up:before { + content: "\f176"; +} + +.fa-loveseat:before { + content: "\f4cc"; +} + +.fa-low-vision:before { + content: "\f2a8"; +} + +.fa-luchador:before { + content: "\f455"; +} + +.fa-luggage-cart:before { + content: "\f59d"; +} + +.fa-lungs:before { + content: "\f604"; +} + +.fa-lungs-virus:before { + content: "\e067"; +} + +.fa-lyft:before { + content: "\f3c3"; +} + +.fa-mace:before { + content: "\f6f8"; +} + +.fa-magento:before { + content: "\f3c4"; +} + +.fa-magic:before { + content: "\f0d0"; +} + +.fa-magnet:before { + content: "\f076"; +} + +.fa-mail-bulk:before { + content: "\f674"; +} + +.fa-mailbox:before { + content: "\f813"; +} + +.fa-mailchimp:before { + content: "\f59e"; +} + +.fa-male:before { + content: "\f183"; +} + +.fa-mandalorian:before { + content: "\f50f"; +} + +.fa-mandolin:before { + content: "\f6f9"; +} + +.fa-map:before { + content: "\f279"; +} + +.fa-map-marked:before { + content: "\f59f"; +} + +.fa-map-marked-alt:before { + content: "\f5a0"; +} + +.fa-map-marker:before { + content: "\f041"; +} + +.fa-map-marker-alt:before { + content: "\f3c5"; +} + +.fa-map-marker-alt-slash:before { + content: "\f605"; +} + +.fa-map-marker-check:before { + content: "\f606"; +} + +.fa-map-marker-edit:before { + content: "\f607"; +} + +.fa-map-marker-exclamation:before { + content: "\f608"; +} + +.fa-map-marker-minus:before { + content: "\f609"; +} + +.fa-map-marker-plus:before { + content: "\f60a"; +} + +.fa-map-marker-question:before { + content: "\f60b"; +} + +.fa-map-marker-slash:before { + content: "\f60c"; +} + +.fa-map-marker-smile:before { + content: "\f60d"; +} + +.fa-map-marker-times:before { + content: "\f60e"; +} + +.fa-map-pin:before { + content: "\f276"; +} + +.fa-map-signs:before { + content: "\f277"; +} + +.fa-markdown:before { + content: "\f60f"; +} + +.fa-marker:before { + content: "\f5a1"; +} + +.fa-mars:before { + content: "\f222"; +} + +.fa-mars-double:before { + content: "\f227"; +} + +.fa-mars-stroke:before { + content: "\f229"; +} + +.fa-mars-stroke-h:before { + content: "\f22b"; +} + +.fa-mars-stroke-v:before { + content: "\f22a"; +} + +.fa-mask:before { + content: "\f6fa"; +} + +.fa-mastodon:before { + content: "\f4f6"; +} + +.fa-maxcdn:before { + content: "\f136"; +} + +.fa-mdb:before { + content: "\f8ca"; +} + +.fa-meat:before { + content: "\f814"; +} + +.fa-medal:before { + content: "\f5a2"; +} + +.fa-medapps:before { + content: "\f3c6"; +} + +.fa-medium:before { + content: "\f23a"; +} + +.fa-medium-m:before { + content: "\f3c7"; +} + +.fa-medkit:before { + content: "\f0fa"; +} + +.fa-medrt:before { + content: "\f3c8"; +} + +.fa-meetup:before { + content: "\f2e0"; +} + +.fa-megaphone:before { + content: "\f675"; +} + +.fa-megaport:before { + content: "\f5a3"; +} + +.fa-meh:before { + content: "\f11a"; +} + +.fa-meh-blank:before { + content: "\f5a4"; +} + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; +} + +.fa-memory:before { + content: "\f538"; +} + +.fa-mendeley:before { + content: "\f7b3"; +} + +.fa-menorah:before { + content: "\f676"; +} + +.fa-mercury:before { + content: "\f223"; +} + +.fa-meteor:before { + content: "\f753"; +} + +.fa-microblog:before { + content: "\e01a"; +} + +.fa-microchip:before { + content: "\f2db"; +} + +.fa-microphone:before { + content: "\f130"; +} + +.fa-microphone-alt:before { + content: "\f3c9"; +} + +.fa-microphone-alt-slash:before { + content: "\f539"; +} + +.fa-microphone-slash:before { + content: "\f131"; +} + +.fa-microphone-stand:before { + content: "\f8cb"; +} + +.fa-microscope:before { + content: "\f610"; +} + +.fa-microsoft:before { + content: "\f3ca"; +} + +.fa-microwave:before { + content: "\e01b"; +} + +.fa-mind-share:before { + content: "\f677"; +} + +.fa-minus:before { + content: "\f068"; +} + +.fa-minus-circle:before { + content: "\f056"; +} + +.fa-minus-hexagon:before { + content: "\f307"; +} + +.fa-minus-octagon:before { + content: "\f308"; +} + +.fa-minus-square:before { + content: "\f146"; +} + +.fa-mistletoe:before { + content: "\f7b4"; +} + +.fa-mitten:before { + content: "\f7b5"; +} + +.fa-mix:before { + content: "\f3cb"; +} + +.fa-mixcloud:before { + content: "\f289"; +} + +.fa-mixer:before { + content: "\e056"; +} + +.fa-mizuni:before { + content: "\f3cc"; +} + +.fa-mobile:before { + content: "\f10b"; +} + +.fa-mobile-alt:before { + content: "\f3cd"; +} + +.fa-mobile-android:before { + content: "\f3ce"; +} + +.fa-mobile-android-alt:before { + content: "\f3cf"; +} + +.fa-modx:before { + content: "\f285"; +} + +.fa-monero:before { + content: "\f3d0"; +} + +.fa-money-bill:before { + content: "\f0d6"; +} + +.fa-money-bill-alt:before { + content: "\f3d1"; +} + +.fa-money-bill-wave:before { + content: "\f53a"; +} + +.fa-money-bill-wave-alt:before { + content: "\f53b"; +} + +.fa-money-check:before { + content: "\f53c"; +} + +.fa-money-check-alt:before { + content: "\f53d"; +} + +.fa-money-check-edit:before { + content: "\f872"; +} + +.fa-money-check-edit-alt:before { + content: "\f873"; +} + +.fa-monitor-heart-rate:before { + content: "\f611"; +} + +.fa-monkey:before { + content: "\f6fb"; +} + +.fa-monument:before { + content: "\f5a6"; +} + +.fa-moon:before { + content: "\f186"; +} + +.fa-moon-cloud:before { + content: "\f754"; +} + +.fa-moon-stars:before { + content: "\f755"; +} + +.fa-mortar-pestle:before { + content: "\f5a7"; +} + +.fa-mosque:before { + content: "\f678"; +} + +.fa-motorcycle:before { + content: "\f21c"; +} + +.fa-mountain:before { + content: "\f6fc"; +} + +.fa-mountains:before { + content: "\f6fd"; +} + +.fa-mouse:before { + content: "\f8cc"; +} + +.fa-mouse-alt:before { + content: "\f8cd"; +} + +.fa-mouse-pointer:before { + content: "\f245"; +} + +.fa-mp3-player:before { + content: "\f8ce"; +} + +.fa-mug:before { + content: "\f874"; +} + +.fa-mug-hot:before { + content: "\f7b6"; +} + +.fa-mug-marshmallows:before { + content: "\f7b7"; +} + +.fa-mug-tea:before { + content: "\f875"; +} + +.fa-music:before { + content: "\f001"; +} + +.fa-music-alt:before { + content: "\f8cf"; +} + +.fa-music-alt-slash:before { + content: "\f8d0"; +} + +.fa-music-slash:before { + content: "\f8d1"; +} + +.fa-napster:before { + content: "\f3d2"; +} + +.fa-narwhal:before { + content: "\f6fe"; +} + +.fa-neos:before { + content: "\f612"; +} + +.fa-network-wired:before { + content: "\f6ff"; +} + +.fa-neuter:before { + content: "\f22c"; +} + +.fa-newspaper:before { + content: "\f1ea"; +} + +.fa-nimblr:before { + content: "\f5a8"; +} + +.fa-node:before { + content: "\f419"; +} + +.fa-node-js:before { + content: "\f3d3"; +} + +.fa-not-equal:before { + content: "\f53e"; +} + +.fa-notes-medical:before { + content: "\f481"; +} + +.fa-npm:before { + content: "\f3d4"; +} + +.fa-ns8:before { + content: "\f3d5"; +} + +.fa-nutritionix:before { + content: "\f3d6"; +} + +.fa-object-group:before { + content: "\f247"; +} + +.fa-object-ungroup:before { + content: "\f248"; +} + +.fa-octagon:before { + content: "\f306"; +} + +.fa-odnoklassniki:before { + content: "\f263"; +} + +.fa-odnoklassniki-square:before { + content: "\f264"; +} + +.fa-oil-can:before { + content: "\f613"; +} + +.fa-oil-temp:before { + content: "\f614"; +} + +.fa-old-republic:before { + content: "\f510"; +} + +.fa-om:before { + content: "\f679"; +} + +.fa-omega:before { + content: "\f67a"; +} + +.fa-opencart:before { + content: "\f23d"; +} + +.fa-openid:before { + content: "\f19b"; +} + +.fa-opera:before { + content: "\f26a"; +} + +.fa-optin-monster:before { + content: "\f23c"; +} + +.fa-orcid:before { + content: "\f8d2"; +} + +.fa-ornament:before { + content: "\f7b8"; +} + +.fa-osi:before { + content: "\f41a"; +} + +.fa-otter:before { + content: "\f700"; +} + +.fa-outdent:before { + content: "\f03b"; +} + +.fa-outlet:before { + content: "\e01c"; +} + +.fa-oven:before { + content: "\e01d"; +} + +.fa-overline:before { + content: "\f876"; +} + +.fa-page-break:before { + content: "\f877"; +} + +.fa-page4:before { + content: "\f3d7"; +} + +.fa-pagelines:before { + content: "\f18c"; +} + +.fa-pager:before { + content: "\f815"; +} + +.fa-paint-brush:before { + content: "\f1fc"; +} + +.fa-paint-brush-alt:before { + content: "\f5a9"; +} + +.fa-paint-roller:before { + content: "\f5aa"; +} + +.fa-palette:before { + content: "\f53f"; +} + +.fa-palfed:before { + content: "\f3d8"; +} + +.fa-pallet:before { + content: "\f482"; +} + +.fa-pallet-alt:before { + content: "\f483"; +} + +.fa-paper-plane:before { + content: "\f1d8"; +} + +.fa-paperclip:before { + content: "\f0c6"; +} + +.fa-parachute-box:before { + content: "\f4cd"; +} + +.fa-paragraph:before { + content: "\f1dd"; +} + +.fa-paragraph-rtl:before { + content: "\f878"; +} + +.fa-parking:before { + content: "\f540"; +} + +.fa-parking-circle:before { + content: "\f615"; +} + +.fa-parking-circle-slash:before { + content: "\f616"; +} + +.fa-parking-slash:before { + content: "\f617"; +} + +.fa-passport:before { + content: "\f5ab"; +} + +.fa-pastafarianism:before { + content: "\f67b"; +} + +.fa-paste:before { + content: "\f0ea"; +} + +.fa-patreon:before { + content: "\f3d9"; +} + +.fa-pause:before { + content: "\f04c"; +} + +.fa-pause-circle:before { + content: "\f28b"; +} + +.fa-paw:before { + content: "\f1b0"; +} + +.fa-paw-alt:before { + content: "\f701"; +} + +.fa-paw-claws:before { + content: "\f702"; +} + +.fa-paypal:before { + content: "\f1ed"; +} + +.fa-peace:before { + content: "\f67c"; +} + +.fa-pegasus:before { + content: "\f703"; +} + +.fa-pen:before { + content: "\f304"; +} + +.fa-pen-alt:before { + content: "\f305"; +} + +.fa-pen-fancy:before { + content: "\f5ac"; +} + +.fa-pen-nib:before { + content: "\f5ad"; +} + +.fa-pen-square:before { + content: "\f14b"; +} + +.fa-pencil:before { + content: "\f040"; +} + +.fa-pencil-alt:before { + content: "\f303"; +} + +.fa-pencil-paintbrush:before { + content: "\f618"; +} + +.fa-pencil-ruler:before { + content: "\f5ae"; +} + +.fa-pennant:before { + content: "\f456"; +} + +.fa-penny-arcade:before { + content: "\f704"; +} + +.fa-people-arrows:before { + content: "\e068"; +} + +.fa-people-carry:before { + content: "\f4ce"; +} + +.fa-pepper-hot:before { + content: "\f816"; +} + +.fa-percent:before { + content: "\f295"; +} + +.fa-percentage:before { + content: "\f541"; +} + +.fa-periscope:before { + content: "\f3da"; +} + +.fa-person-booth:before { + content: "\f756"; +} + +.fa-person-carry:before { + content: "\f4cf"; +} + +.fa-person-dolly:before { + content: "\f4d0"; +} + +.fa-person-dolly-empty:before { + content: "\f4d1"; +} + +.fa-person-sign:before { + content: "\f757"; +} + +.fa-phabricator:before { + content: "\f3db"; +} + +.fa-phoenix-framework:before { + content: "\f3dc"; +} + +.fa-phoenix-squadron:before { + content: "\f511"; +} + +.fa-phone:before { + content: "\f095"; +} + +.fa-phone-alt:before { + content: "\f879"; +} + +.fa-phone-laptop:before { + content: "\f87a"; +} + +.fa-phone-office:before { + content: "\f67d"; +} + +.fa-phone-plus:before { + content: "\f4d2"; +} + +.fa-phone-rotary:before { + content: "\f8d3"; +} + +.fa-phone-slash:before { + content: "\f3dd"; +} + +.fa-phone-square:before { + content: "\f098"; +} + +.fa-phone-square-alt:before { + content: "\f87b"; +} + +.fa-phone-volume:before { + content: "\f2a0"; +} + +.fa-photo-video:before { + content: "\f87c"; +} + +.fa-php:before { + content: "\f457"; +} + +.fa-pi:before { + content: "\f67e"; +} + +.fa-piano:before { + content: "\f8d4"; +} + +.fa-piano-keyboard:before { + content: "\f8d5"; +} + +.fa-pie:before { + content: "\f705"; +} + +.fa-pied-piper:before { + content: "\f2ae"; +} + +.fa-pied-piper-alt:before { + content: "\f1a8"; +} + +.fa-pied-piper-hat:before { + content: "\f4e5"; +} + +.fa-pied-piper-pp:before { + content: "\f1a7"; +} + +.fa-pied-piper-square:before { + content: "\e01e"; +} + +.fa-pig:before { + content: "\f706"; +} + +.fa-piggy-bank:before { + content: "\f4d3"; +} + +.fa-pills:before { + content: "\f484"; +} + +.fa-pinterest:before { + content: "\f0d2"; +} + +.fa-pinterest-p:before { + content: "\f231"; +} + +.fa-pinterest-square:before { + content: "\f0d3"; +} + +.fa-pizza:before { + content: "\f817"; +} + +.fa-pizza-slice:before { + content: "\f818"; +} + +.fa-place-of-worship:before { + content: "\f67f"; +} + +.fa-plane:before { + content: "\f072"; +} + +.fa-plane-alt:before { + content: "\f3de"; +} + +.fa-plane-arrival:before { + content: "\f5af"; +} + +.fa-plane-departure:before { + content: "\f5b0"; +} + +.fa-plane-slash:before { + content: "\e069"; +} + +.fa-planet-moon:before { + content: "\e01f"; +} + +.fa-planet-ringed:before { + content: "\e020"; +} + +.fa-play:before { + content: "\f04b"; +} + +.fa-play-circle:before { + content: "\f144"; +} + +.fa-playstation:before { + content: "\f3df"; +} + +.fa-plug:before { + content: "\f1e6"; +} + +.fa-plus:before { + content: "\f067"; +} + +.fa-plus-circle:before { + content: "\f055"; +} + +.fa-plus-hexagon:before { + content: "\f300"; +} + +.fa-plus-octagon:before { + content: "\f301"; +} + +.fa-plus-square:before { + content: "\f0fe"; +} + +.fa-podcast:before { + content: "\f2ce"; +} + +.fa-podium:before { + content: "\f680"; +} + +.fa-podium-star:before { + content: "\f758"; +} + +.fa-police-box:before { + content: "\e021"; +} + +.fa-poll:before { + content: "\f681"; +} + +.fa-poll-h:before { + content: "\f682"; +} + +.fa-poll-people:before { + content: "\f759"; +} + +.fa-poo:before { + content: "\f2fe"; +} + +.fa-poo-storm:before { + content: "\f75a"; +} + +.fa-poop:before { + content: "\f619"; +} + +.fa-popcorn:before { + content: "\f819"; +} + +.fa-portal-enter:before { + content: "\e022"; +} + +.fa-portal-exit:before { + content: "\e023"; +} + +.fa-portrait:before { + content: "\f3e0"; +} + +.fa-pound-sign:before { + content: "\f154"; +} + +.fa-power-off:before { + content: "\f011"; +} + +.fa-pray:before { + content: "\f683"; +} + +.fa-praying-hands:before { + content: "\f684"; +} + +.fa-prescription:before { + content: "\f5b1"; +} + +.fa-prescription-bottle:before { + content: "\f485"; +} + +.fa-prescription-bottle-alt:before { + content: "\f486"; +} + +.fa-presentation:before { + content: "\f685"; +} + +.fa-print:before { + content: "\f02f"; +} + +.fa-print-search:before { + content: "\f81a"; +} + +.fa-print-slash:before { + content: "\f686"; +} + +.fa-procedures:before { + content: "\f487"; +} + +.fa-product-hunt:before { + content: "\f288"; +} + +.fa-project-diagram:before { + content: "\f542"; +} + +.fa-projector:before { + content: "\f8d6"; +} + +.fa-pump-medical:before { + content: "\e06a"; +} + +.fa-pump-soap:before { + content: "\e06b"; +} + +.fa-pumpkin:before { + content: "\f707"; +} + +.fa-pushed:before { + content: "\f3e1"; +} + +.fa-puzzle-piece:before { + content: "\f12e"; +} + +.fa-python:before { + content: "\f3e2"; +} + +.fa-qq:before { + content: "\f1d6"; +} + +.fa-qrcode:before { + content: "\f029"; +} + +.fa-question:before { + content: "\f128"; +} + +.fa-question-circle:before { + content: "\f059"; +} + +.fa-question-square:before { + content: "\f2fd"; +} + +.fa-quidditch:before { + content: "\f458"; +} + +.fa-quinscape:before { + content: "\f459"; +} + +.fa-quora:before { + content: "\f2c4"; +} + +.fa-quote-left:before { + content: "\f10d"; +} + +.fa-quote-right:before { + content: "\f10e"; +} + +.fa-quran:before { + content: "\f687"; +} + +.fa-r-project:before { + content: "\f4f7"; +} + +.fa-rabbit:before { + content: "\f708"; +} + +.fa-rabbit-fast:before { + content: "\f709"; +} + +.fa-racquet:before { + content: "\f45a"; +} + +.fa-radar:before { + content: "\e024"; +} + +.fa-radiation:before { + content: "\f7b9"; +} + +.fa-radiation-alt:before { + content: "\f7ba"; +} + +.fa-radio:before { + content: "\f8d7"; +} + +.fa-radio-alt:before { + content: "\f8d8"; +} + +.fa-rainbow:before { + content: "\f75b"; +} + +.fa-raindrops:before { + content: "\f75c"; +} + +.fa-ram:before { + content: "\f70a"; +} + +.fa-ramp-loading:before { + content: "\f4d4"; +} + +.fa-random:before { + content: "\f074"; +} + +.fa-raspberry-pi:before { + content: "\f7bb"; +} + +.fa-ravelry:before { + content: "\f2d9"; +} + +.fa-raygun:before { + content: "\e025"; +} + +.fa-react:before { + content: "\f41b"; +} + +.fa-reacteurope:before { + content: "\f75d"; +} + +.fa-readme:before { + content: "\f4d5"; +} + +.fa-rebel:before { + content: "\f1d0"; +} + +.fa-receipt:before { + content: "\f543"; +} + +.fa-record-vinyl:before { + content: "\f8d9"; +} + +.fa-rectangle-landscape:before { + content: "\f2fa"; +} + +.fa-rectangle-portrait:before { + content: "\f2fb"; +} + +.fa-rectangle-wide:before { + content: "\f2fc"; +} + +.fa-recycle:before { + content: "\f1b8"; +} + +.fa-red-river:before { + content: "\f3e3"; +} + +.fa-reddit:before { + content: "\f1a1"; +} + +.fa-reddit-alien:before { + content: "\f281"; +} + +.fa-reddit-square:before { + content: "\f1a2"; +} + +.fa-redhat:before { + content: "\f7bc"; +} + +.fa-redo:before { + content: "\f01e"; +} + +.fa-redo-alt:before { + content: "\f2f9"; +} + +.fa-refrigerator:before { + content: "\e026"; +} + +.fa-registered:before { + content: "\f25d"; +} + +.fa-remove-format:before { + content: "\f87d"; +} + +.fa-renren:before { + content: "\f18b"; +} + +.fa-repeat:before { + content: "\f363"; +} + +.fa-repeat-1:before { + content: "\f365"; +} + +.fa-repeat-1-alt:before { + content: "\f366"; +} + +.fa-repeat-alt:before { + content: "\f364"; +} + +.fa-reply:before { + content: "\f3e5"; +} + +.fa-reply-all:before { + content: "\f122"; +} + +.fa-replyd:before { + content: "\f3e6"; +} + +.fa-republican:before { + content: "\f75e"; +} + +.fa-researchgate:before { + content: "\f4f8"; +} + +.fa-resolving:before { + content: "\f3e7"; +} + +.fa-restroom:before { + content: "\f7bd"; +} + +.fa-retweet:before { + content: "\f079"; +} + +.fa-retweet-alt:before { + content: "\f361"; +} + +.fa-rev:before { + content: "\f5b2"; +} + +.fa-ribbon:before { + content: "\f4d6"; +} + +.fa-ring:before { + content: "\f70b"; +} + +.fa-rings-wedding:before { + content: "\f81b"; +} + +.fa-road:before { + content: "\f018"; +} + +.fa-robot:before { + content: "\f544"; +} + +.fa-rocket:before { + content: "\f135"; +} + +.fa-rocket-launch:before { + content: "\e027"; +} + +.fa-rocketchat:before { + content: "\f3e8"; +} + +.fa-rockrms:before { + content: "\f3e9"; +} + +.fa-route:before { + content: "\f4d7"; +} + +.fa-route-highway:before { + content: "\f61a"; +} + +.fa-route-interstate:before { + content: "\f61b"; +} + +.fa-router:before { + content: "\f8da"; +} + +.fa-rss:before { + content: "\f09e"; +} + +.fa-rss-square:before { + content: "\f143"; +} + +.fa-ruble-sign:before { + content: "\f158"; +} + +.fa-ruler:before { + content: "\f545"; +} + +.fa-ruler-combined:before { + content: "\f546"; +} + +.fa-ruler-horizontal:before { + content: "\f547"; +} + +.fa-ruler-triangle:before { + content: "\f61c"; +} + +.fa-ruler-vertical:before { + content: "\f548"; +} + +.fa-running:before { + content: "\f70c"; +} + +.fa-rupee-sign:before { + content: "\f156"; +} + +.fa-rust:before { + content: "\e07a"; +} + +.fa-rv:before { + content: "\f7be"; +} + +.fa-sack:before { + content: "\f81c"; +} + +.fa-sack-dollar:before { + content: "\f81d"; +} + +.fa-sad-cry:before { + content: "\f5b3"; +} + +.fa-sad-tear:before { + content: "\f5b4"; +} + +.fa-safari:before { + content: "\f267"; +} + +.fa-salad:before { + content: "\f81e"; +} + +.fa-salesforce:before { + content: "\f83b"; +} + +.fa-sandwich:before { + content: "\f81f"; +} + +.fa-sass:before { + content: "\f41e"; +} + +.fa-satellite:before { + content: "\f7bf"; +} + +.fa-satellite-dish:before { + content: "\f7c0"; +} + +.fa-sausage:before { + content: "\f820"; +} + +.fa-save:before { + content: "\f0c7"; +} + +.fa-sax-hot:before { + content: "\f8db"; +} + +.fa-saxophone:before { + content: "\f8dc"; +} + +.fa-scalpel:before { + content: "\f61d"; +} + +.fa-scalpel-path:before { + content: "\f61e"; +} + +.fa-scanner:before { + content: "\f488"; +} + +.fa-scanner-image:before { + content: "\f8f3"; +} + +.fa-scanner-keyboard:before { + content: "\f489"; +} + +.fa-scanner-touchscreen:before { + content: "\f48a"; +} + +.fa-scarecrow:before { + content: "\f70d"; +} + +.fa-scarf:before { + content: "\f7c1"; +} + +.fa-schlix:before { + content: "\f3ea"; +} + +.fa-school:before { + content: "\f549"; +} + +.fa-screwdriver:before { + content: "\f54a"; +} + +.fa-scribd:before { + content: "\f28a"; +} + +.fa-scroll:before { + content: "\f70e"; +} + +.fa-scroll-old:before { + content: "\f70f"; +} + +.fa-scrubber:before { + content: "\f2f8"; +} + +.fa-scythe:before { + content: "\f710"; +} + +.fa-sd-card:before { + content: "\f7c2"; +} + +.fa-search:before { + content: "\f002"; +} + +.fa-search-dollar:before { + content: "\f688"; +} + +.fa-search-location:before { + content: "\f689"; +} + +.fa-search-minus:before { + content: "\f010"; +} + +.fa-search-plus:before { + content: "\f00e"; +} + +.fa-searchengin:before { + content: "\f3eb"; +} + +.fa-seedling:before { + content: "\f4d8"; +} + +.fa-sellcast:before { + content: "\f2da"; +} + +.fa-sellsy:before { + content: "\f213"; +} + +.fa-send-back:before { + content: "\f87e"; +} + +.fa-send-backward:before { + content: "\f87f"; +} + +.fa-sensor:before { + content: "\e028"; +} + +.fa-sensor-alert:before { + content: "\e029"; +} + +.fa-sensor-fire:before { + content: "\e02a"; +} + +.fa-sensor-on:before { + content: "\e02b"; +} + +.fa-sensor-smoke:before { + content: "\e02c"; +} + +.fa-server:before { + content: "\f233"; +} + +.fa-servicestack:before { + content: "\f3ec"; +} + +.fa-shapes:before { + content: "\f61f"; +} + +.fa-share:before { + content: "\f064"; +} + +.fa-share-all:before { + content: "\f367"; +} + +.fa-share-alt:before { + content: "\f1e0"; +} + +.fa-share-alt-square:before { + content: "\f1e1"; +} + +.fa-share-square:before { + content: "\f14d"; +} + +.fa-sheep:before { + content: "\f711"; +} + +.fa-shekel-sign:before { + content: "\f20b"; +} + +.fa-shield:before { + content: "\f132"; +} + +.fa-shield-alt:before { + content: "\f3ed"; +} + +.fa-shield-check:before { + content: "\f2f7"; +} + +.fa-shield-cross:before { + content: "\f712"; +} + +.fa-shield-virus:before { + content: "\e06c"; +} + +.fa-ship:before { + content: "\f21a"; +} + +.fa-shipping-fast:before { + content: "\f48b"; +} + +.fa-shipping-timed:before { + content: "\f48c"; +} + +.fa-shirtsinbulk:before { + content: "\f214"; +} + +.fa-shish-kebab:before { + content: "\f821"; +} + +.fa-shoe-prints:before { + content: "\f54b"; +} + +.fa-shopify:before { + content: "\e057"; +} + +.fa-shopping-bag:before { + content: "\f290"; +} + +.fa-shopping-basket:before { + content: "\f291"; +} + +.fa-shopping-cart:before { + content: "\f07a"; +} + +.fa-shopware:before { + content: "\f5b5"; +} + +.fa-shovel:before { + content: "\f713"; +} + +.fa-shovel-snow:before { + content: "\f7c3"; +} + +.fa-shower:before { + content: "\f2cc"; +} + +.fa-shredder:before { + content: "\f68a"; +} + +.fa-shuttle-van:before { + content: "\f5b6"; +} + +.fa-shuttlecock:before { + content: "\f45b"; +} + +.fa-sickle:before { + content: "\f822"; +} + +.fa-sigma:before { + content: "\f68b"; +} + +.fa-sign:before { + content: "\f4d9"; +} + +.fa-sign-in:before { + content: "\f090"; +} + +.fa-sign-in-alt:before { + content: "\f2f6"; +} + +.fa-sign-language:before { + content: "\f2a7"; +} + +.fa-sign-out:before { + content: "\f08b"; +} + +.fa-sign-out-alt:before { + content: "\f2f5"; +} + +.fa-signal:before { + content: "\f012"; +} + +.fa-signal-1:before { + content: "\f68c"; +} + +.fa-signal-2:before { + content: "\f68d"; +} + +.fa-signal-3:before { + content: "\f68e"; +} + +.fa-signal-4:before { + content: "\f68f"; +} + +.fa-signal-alt:before { + content: "\f690"; +} + +.fa-signal-alt-1:before { + content: "\f691"; +} + +.fa-signal-alt-2:before { + content: "\f692"; +} + +.fa-signal-alt-3:before { + content: "\f693"; +} + +.fa-signal-alt-slash:before { + content: "\f694"; +} + +.fa-signal-slash:before { + content: "\f695"; +} + +.fa-signal-stream:before { + content: "\f8dd"; +} + +.fa-signature:before { + content: "\f5b7"; +} + +.fa-sim-card:before { + content: "\f7c4"; +} + +.fa-simplybuilt:before { + content: "\f215"; +} + +.fa-sink:before { + content: "\e06d"; +} + +.fa-siren:before { + content: "\e02d"; +} + +.fa-siren-on:before { + content: "\e02e"; +} + +.fa-sistrix:before { + content: "\f3ee"; +} + +.fa-sitemap:before { + content: "\f0e8"; +} + +.fa-sith:before { + content: "\f512"; +} + +.fa-skating:before { + content: "\f7c5"; +} + +.fa-skeleton:before { + content: "\f620"; +} + +.fa-sketch:before { + content: "\f7c6"; +} + +.fa-ski-jump:before { + content: "\f7c7"; +} + +.fa-ski-lift:before { + content: "\f7c8"; +} + +.fa-skiing:before { + content: "\f7c9"; +} + +.fa-skiing-nordic:before { + content: "\f7ca"; +} + +.fa-skull:before { + content: "\f54c"; +} + +.fa-skull-cow:before { + content: "\f8de"; +} + +.fa-skull-crossbones:before { + content: "\f714"; +} + +.fa-skyatlas:before { + content: "\f216"; +} + +.fa-skype:before { + content: "\f17e"; +} + +.fa-slack:before { + content: "\f198"; +} + +.fa-slack-hash:before { + content: "\f3ef"; +} + +.fa-slash:before { + content: "\f715"; +} + +.fa-sledding:before { + content: "\f7cb"; +} + +.fa-sleigh:before { + content: "\f7cc"; +} + +.fa-sliders-h:before { + content: "\f1de"; +} + +.fa-sliders-h-square:before { + content: "\f3f0"; +} + +.fa-sliders-v:before { + content: "\f3f1"; +} + +.fa-sliders-v-square:before { + content: "\f3f2"; +} + +.fa-slideshare:before { + content: "\f1e7"; +} + +.fa-smile:before { + content: "\f118"; +} + +.fa-smile-beam:before { + content: "\f5b8"; +} + +.fa-smile-plus:before { + content: "\f5b9"; +} + +.fa-smile-wink:before { + content: "\f4da"; +} + +.fa-smog:before { + content: "\f75f"; +} + +.fa-smoke:before { + content: "\f760"; +} + +.fa-smoking:before { + content: "\f48d"; +} + +.fa-smoking-ban:before { + content: "\f54d"; +} + +.fa-sms:before { + content: "\f7cd"; +} + +.fa-snake:before { + content: "\f716"; +} + +.fa-snapchat:before { + content: "\f2ab"; +} + +.fa-snapchat-ghost:before { + content: "\f2ac"; +} + +.fa-snapchat-square:before { + content: "\f2ad"; +} + +.fa-snooze:before { + content: "\f880"; +} + +.fa-snow-blowing:before { + content: "\f761"; +} + +.fa-snowboarding:before { + content: "\f7ce"; +} + +.fa-snowflake:before { + content: "\f2dc"; +} + +.fa-snowflakes:before { + content: "\f7cf"; +} + +.fa-snowman:before { + content: "\f7d0"; +} + +.fa-snowmobile:before { + content: "\f7d1"; +} + +.fa-snowplow:before { + content: "\f7d2"; +} + +.fa-soap:before { + content: "\e06e"; +} + +.fa-socks:before { + content: "\f696"; +} + +.fa-solar-panel:before { + content: "\f5ba"; +} + +.fa-solar-system:before { + content: "\e02f"; +} + +.fa-sort:before { + content: "\f0dc"; +} + +.fa-sort-alpha-down:before { + content: "\f15d"; +} + +.fa-sort-alpha-down-alt:before { + content: "\f881"; +} + +.fa-sort-alpha-up:before { + content: "\f15e"; +} + +.fa-sort-alpha-up-alt:before { + content: "\f882"; +} + +.fa-sort-alt:before { + content: "\f883"; +} + +.fa-sort-amount-down:before { + content: "\f160"; +} + +.fa-sort-amount-down-alt:before { + content: "\f884"; +} + +.fa-sort-amount-up:before { + content: "\f161"; +} + +.fa-sort-amount-up-alt:before { + content: "\f885"; +} + +.fa-sort-circle:before { + content: "\e030"; +} + +.fa-sort-circle-down:before { + content: "\e031"; +} + +.fa-sort-circle-up:before { + content: "\e032"; +} + +.fa-sort-down:before { + content: "\f0dd"; +} + +.fa-sort-numeric-down:before { + content: "\f162"; +} + +.fa-sort-numeric-down-alt:before { + content: "\f886"; +} + +.fa-sort-numeric-up:before { + content: "\f163"; +} + +.fa-sort-numeric-up-alt:before { + content: "\f887"; +} + +.fa-sort-shapes-down:before { + content: "\f888"; +} + +.fa-sort-shapes-down-alt:before { + content: "\f889"; +} + +.fa-sort-shapes-up:before { + content: "\f88a"; +} + +.fa-sort-shapes-up-alt:before { + content: "\f88b"; +} + +.fa-sort-size-down:before { + content: "\f88c"; +} + +.fa-sort-size-down-alt:before { + content: "\f88d"; +} + +.fa-sort-size-up:before { + content: "\f88e"; +} + +.fa-sort-size-up-alt:before { + content: "\f88f"; +} + +.fa-sort-up:before { + content: "\f0de"; +} + +.fa-soundcloud:before { + content: "\f1be"; +} + +.fa-soup:before { + content: "\f823"; +} + +.fa-sourcetree:before { + content: "\f7d3"; +} + +.fa-spa:before { + content: "\f5bb"; +} + +.fa-space-shuttle:before { + content: "\f197"; +} + +.fa-space-station-moon:before { + content: "\e033"; +} + +.fa-space-station-moon-alt:before { + content: "\e034"; +} + +.fa-spade:before { + content: "\f2f4"; +} + +.fa-sparkles:before { + content: "\f890"; +} + +.fa-speakap:before { + content: "\f3f3"; +} + +.fa-speaker:before { + content: "\f8df"; +} + +.fa-speaker-deck:before { + content: "\f83c"; +} + +.fa-speakers:before { + content: "\f8e0"; +} + +.fa-spell-check:before { + content: "\f891"; +} + +.fa-spider:before { + content: "\f717"; +} + +.fa-spider-black-widow:before { + content: "\f718"; +} + +.fa-spider-web:before { + content: "\f719"; +} + +.fa-spinner:before { + content: "\f110"; +} + +.fa-spinner-third:before { + content: "\f3f4"; +} + +.fa-splotch:before { + content: "\f5bc"; +} + +.fa-spotify:before { + content: "\f1bc"; +} + +.fa-spray-can:before { + content: "\f5bd"; +} + +.fa-sprinkler:before { + content: "\e035"; +} + +.fa-square:before { + content: "\f0c8"; +} + +.fa-square-full:before { + content: "\f45c"; +} + +.fa-square-root:before { + content: "\f697"; +} + +.fa-square-root-alt:before { + content: "\f698"; +} + +.fa-squarespace:before { + content: "\f5be"; +} + +.fa-squirrel:before { + content: "\f71a"; +} + +.fa-stack-exchange:before { + content: "\f18d"; +} + +.fa-stack-overflow:before { + content: "\f16c"; +} + +.fa-stackpath:before { + content: "\f842"; +} + +.fa-staff:before { + content: "\f71b"; +} + +.fa-stamp:before { + content: "\f5bf"; +} + +.fa-star:before { + content: "\f005"; +} + +.fa-star-and-crescent:before { + content: "\f699"; +} + +.fa-star-christmas:before { + content: "\f7d4"; +} + +.fa-star-exclamation:before { + content: "\f2f3"; +} + +.fa-star-half:before { + content: "\f089"; +} + +.fa-star-half-alt:before { + content: "\f5c0"; +} + +.fa-star-of-david:before { + content: "\f69a"; +} + +.fa-star-of-life:before { + content: "\f621"; +} + +.fa-star-shooting:before { + content: "\e036"; +} + +.fa-starfighter:before { + content: "\e037"; +} + +.fa-starfighter-alt:before { + content: "\e038"; +} + +.fa-stars:before { + content: "\f762"; +} + +.fa-starship:before { + content: "\e039"; +} + +.fa-starship-freighter:before { + content: "\e03a"; +} + +.fa-staylinked:before { + content: "\f3f5"; +} + +.fa-steak:before { + content: "\f824"; +} + +.fa-steam:before { + content: "\f1b6"; +} + +.fa-steam-square:before { + content: "\f1b7"; +} + +.fa-steam-symbol:before { + content: "\f3f6"; +} + +.fa-steering-wheel:before { + content: "\f622"; +} + +.fa-step-backward:before { + content: "\f048"; +} + +.fa-step-forward:before { + content: "\f051"; +} + +.fa-stethoscope:before { + content: "\f0f1"; +} + +.fa-sticker-mule:before { + content: "\f3f7"; +} + +.fa-sticky-note:before { + content: "\f249"; +} + +.fa-stocking:before { + content: "\f7d5"; +} + +.fa-stomach:before { + content: "\f623"; +} + +.fa-stop:before { + content: "\f04d"; +} + +.fa-stop-circle:before { + content: "\f28d"; +} + +.fa-stopwatch:before { + content: "\f2f2"; +} + +.fa-stopwatch-20:before { + content: "\e06f"; +} + +.fa-store:before { + content: "\f54e"; +} + +.fa-store-alt:before { + content: "\f54f"; +} + +.fa-store-alt-slash:before { + content: "\e070"; +} + +.fa-store-slash:before { + content: "\e071"; +} + +.fa-strava:before { + content: "\f428"; +} + +.fa-stream:before { + content: "\f550"; +} + +.fa-street-view:before { + content: "\f21d"; +} + +.fa-stretcher:before { + content: "\f825"; +} + +.fa-strikethrough:before { + content: "\f0cc"; +} + +.fa-stripe:before { + content: "\f429"; +} + +.fa-stripe-s:before { + content: "\f42a"; +} + +.fa-stroopwafel:before { + content: "\f551"; +} + +.fa-studiovinari:before { + content: "\f3f8"; +} + +.fa-stumbleupon:before { + content: "\f1a4"; +} + +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} + +.fa-subscript:before { + content: "\f12c"; +} + +.fa-subway:before { + content: "\f239"; +} + +.fa-suitcase:before { + content: "\f0f2"; +} + +.fa-suitcase-rolling:before { + content: "\f5c1"; +} + +.fa-sun:before { + content: "\f185"; +} + +.fa-sun-cloud:before { + content: "\f763"; +} + +.fa-sun-dust:before { + content: "\f764"; +} + +.fa-sun-haze:before { + content: "\f765"; +} + +.fa-sunglasses:before { + content: "\f892"; +} + +.fa-sunrise:before { + content: "\f766"; +} + +.fa-sunset:before { + content: "\f767"; +} + +.fa-superpowers:before { + content: "\f2dd"; +} + +.fa-superscript:before { + content: "\f12b"; +} + +.fa-supple:before { + content: "\f3f9"; +} + +.fa-surprise:before { + content: "\f5c2"; +} + +.fa-suse:before { + content: "\f7d6"; +} + +.fa-swatchbook:before { + content: "\f5c3"; +} + +.fa-swift:before { + content: "\f8e1"; +} + +.fa-swimmer:before { + content: "\f5c4"; +} + +.fa-swimming-pool:before { + content: "\f5c5"; +} + +.fa-sword:before { + content: "\f71c"; +} + +.fa-sword-laser:before { + content: "\e03b"; +} + +.fa-sword-laser-alt:before { + content: "\e03c"; +} + +.fa-swords:before { + content: "\f71d"; +} + +.fa-swords-laser:before { + content: "\e03d"; +} + +.fa-symfony:before { + content: "\f83d"; +} + +.fa-synagogue:before { + content: "\f69b"; +} + +.fa-sync:before { + content: "\f021"; +} + +.fa-sync-alt:before { + content: "\f2f1"; +} + +.fa-syringe:before { + content: "\f48e"; +} + +.fa-table:before { + content: "\f0ce"; +} + +.fa-table-tennis:before { + content: "\f45d"; +} + +.fa-tablet:before { + content: "\f10a"; +} + +.fa-tablet-alt:before { + content: "\f3fa"; +} + +.fa-tablet-android:before { + content: "\f3fb"; +} + +.fa-tablet-android-alt:before { + content: "\f3fc"; +} + +.fa-tablet-rugged:before { + content: "\f48f"; +} + +.fa-tablets:before { + content: "\f490"; +} + +.fa-tachometer:before { + content: "\f0e4"; +} + +.fa-tachometer-alt:before { + content: "\f3fd"; +} + +.fa-tachometer-alt-average:before { + content: "\f624"; +} + +.fa-tachometer-alt-fast:before { + content: "\f625"; +} + +.fa-tachometer-alt-fastest:before { + content: "\f626"; +} + +.fa-tachometer-alt-slow:before { + content: "\f627"; +} + +.fa-tachometer-alt-slowest:before { + content: "\f628"; +} + +.fa-tachometer-average:before { + content: "\f629"; +} + +.fa-tachometer-fast:before { + content: "\f62a"; +} + +.fa-tachometer-fastest:before { + content: "\f62b"; +} + +.fa-tachometer-slow:before { + content: "\f62c"; +} + +.fa-tachometer-slowest:before { + content: "\f62d"; +} + +.fa-taco:before { + content: "\f826"; +} + +.fa-tag:before { + content: "\f02b"; +} + +.fa-tags:before { + content: "\f02c"; +} + +.fa-tally:before { + content: "\f69c"; +} + +.fa-tanakh:before { + content: "\f827"; +} + +.fa-tape:before { + content: "\f4db"; +} + +.fa-tasks:before { + content: "\f0ae"; +} + +.fa-tasks-alt:before { + content: "\f828"; +} + +.fa-taxi:before { + content: "\f1ba"; +} + +.fa-teamspeak:before { + content: "\f4f9"; +} + +.fa-teeth:before { + content: "\f62e"; +} + +.fa-teeth-open:before { + content: "\f62f"; +} + +.fa-telegram:before { + content: "\f2c6"; +} + +.fa-telegram-plane:before { + content: "\f3fe"; +} + +.fa-telescope:before { + content: "\e03e"; +} + +.fa-temperature-down:before { + content: "\e03f"; +} + +.fa-temperature-frigid:before { + content: "\f768"; +} + +.fa-temperature-high:before { + content: "\f769"; +} + +.fa-temperature-hot:before { + content: "\f76a"; +} + +.fa-temperature-low:before { + content: "\f76b"; +} + +.fa-temperature-up:before { + content: "\e040"; +} + +.fa-tencent-weibo:before { + content: "\f1d5"; +} + +.fa-tenge:before { + content: "\f7d7"; +} + +.fa-tennis-ball:before { + content: "\f45e"; +} + +.fa-terminal:before { + content: "\f120"; +} + +.fa-text:before { + content: "\f893"; +} + +.fa-text-height:before { + content: "\f034"; +} + +.fa-text-size:before { + content: "\f894"; +} + +.fa-text-width:before { + content: "\f035"; +} + +.fa-th:before { + content: "\f00a"; +} + +.fa-th-large:before { + content: "\f009"; +} + +.fa-th-list:before { + content: "\f00b"; +} + +.fa-the-red-yeti:before { + content: "\f69d"; +} + +.fa-theater-masks:before { + content: "\f630"; +} + +.fa-themeco:before { + content: "\f5c6"; +} + +.fa-themeisle:before { + content: "\f2b2"; +} + +.fa-thermometer:before { + content: "\f491"; +} + +.fa-thermometer-empty:before { + content: "\f2cb"; +} + +.fa-thermometer-full:before { + content: "\f2c7"; +} + +.fa-thermometer-half:before { + content: "\f2c9"; +} + +.fa-thermometer-quarter:before { + content: "\f2ca"; +} + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} + +.fa-theta:before { + content: "\f69e"; +} + +.fa-think-peaks:before { + content: "\f731"; +} + +.fa-thumbs-down:before { + content: "\f165"; +} + +.fa-thumbs-up:before { + content: "\f164"; +} + +.fa-thumbtack:before { + content: "\f08d"; +} + +.fa-thunderstorm:before { + content: "\f76c"; +} + +.fa-thunderstorm-moon:before { + content: "\f76d"; +} + +.fa-thunderstorm-sun:before { + content: "\f76e"; +} + +.fa-ticket:before { + content: "\f145"; +} + +.fa-ticket-alt:before { + content: "\f3ff"; +} + +.fa-tiktok:before { + content: "\e07b"; +} + +.fa-tilde:before { + content: "\f69f"; +} + +.fa-times:before { + content: "\f00d"; +} + +.fa-times-circle:before { + content: "\f057"; +} + +.fa-times-hexagon:before { + content: "\f2ee"; +} + +.fa-times-octagon:before { + content: "\f2f0"; +} + +.fa-times-square:before { + content: "\f2d3"; +} + +.fa-tint:before { + content: "\f043"; +} + +.fa-tint-slash:before { + content: "\f5c7"; +} + +.fa-tire:before { + content: "\f631"; +} + +.fa-tire-flat:before { + content: "\f632"; +} + +.fa-tire-pressure-warning:before { + content: "\f633"; +} + +.fa-tire-rugged:before { + content: "\f634"; +} + +.fa-tired:before { + content: "\f5c8"; +} + +.fa-toggle-off:before { + content: "\f204"; +} + +.fa-toggle-on:before { + content: "\f205"; +} + +.fa-toilet:before { + content: "\f7d8"; +} + +.fa-toilet-paper:before { + content: "\f71e"; +} + +.fa-toilet-paper-alt:before { + content: "\f71f"; +} + +.fa-toilet-paper-slash:before { + content: "\e072"; +} + +.fa-tombstone:before { + content: "\f720"; +} + +.fa-tombstone-alt:before { + content: "\f721"; +} + +.fa-toolbox:before { + content: "\f552"; +} + +.fa-tools:before { + content: "\f7d9"; +} + +.fa-tooth:before { + content: "\f5c9"; +} + +.fa-toothbrush:before { + content: "\f635"; +} + +.fa-torah:before { + content: "\f6a0"; +} + +.fa-torii-gate:before { + content: "\f6a1"; +} + +.fa-tornado:before { + content: "\f76f"; +} + +.fa-tractor:before { + content: "\f722"; +} + +.fa-trade-federation:before { + content: "\f513"; +} + +.fa-trademark:before { + content: "\f25c"; +} + +.fa-traffic-cone:before { + content: "\f636"; +} + +.fa-traffic-light:before { + content: "\f637"; +} + +.fa-traffic-light-go:before { + content: "\f638"; +} + +.fa-traffic-light-slow:before { + content: "\f639"; +} + +.fa-traffic-light-stop:before { + content: "\f63a"; +} + +.fa-trailer:before { + content: "\e041"; +} + +.fa-train:before { + content: "\f238"; +} + +.fa-tram:before { + content: "\f7da"; +} + +.fa-transgender:before { + content: "\f224"; +} + +.fa-transgender-alt:before { + content: "\f225"; +} + +.fa-transporter:before { + content: "\e042"; +} + +.fa-transporter-1:before { + content: "\e043"; +} + +.fa-transporter-2:before { + content: "\e044"; +} + +.fa-transporter-3:before { + content: "\e045"; +} + +.fa-transporter-empty:before { + content: "\e046"; +} + +.fa-trash:before { + content: "\f1f8"; +} + +.fa-trash-alt:before { + content: "\f2ed"; +} + +.fa-trash-restore:before { + content: "\f829"; +} + +.fa-trash-restore-alt:before { + content: "\f82a"; +} + +.fa-trash-undo:before { + content: "\f895"; +} + +.fa-trash-undo-alt:before { + content: "\f896"; +} + +.fa-treasure-chest:before { + content: "\f723"; +} + +.fa-tree:before { + content: "\f1bb"; +} + +.fa-tree-alt:before { + content: "\f400"; +} + +.fa-tree-christmas:before { + content: "\f7db"; +} + +.fa-tree-decorated:before { + content: "\f7dc"; +} + +.fa-tree-large:before { + content: "\f7dd"; +} + +.fa-tree-palm:before { + content: "\f82b"; +} + +.fa-trees:before { + content: "\f724"; +} + +.fa-trello:before { + content: "\f181"; +} + +.fa-triangle:before { + content: "\f2ec"; +} + +.fa-triangle-music:before { + content: "\f8e2"; +} + +.fa-tripadvisor:before { + content: "\f262"; +} + +.fa-trophy:before { + content: "\f091"; +} + +.fa-trophy-alt:before { + content: "\f2eb"; +} + +.fa-truck:before { + content: "\f0d1"; +} + +.fa-truck-container:before { + content: "\f4dc"; +} + +.fa-truck-couch:before { + content: "\f4dd"; +} + +.fa-truck-loading:before { + content: "\f4de"; +} + +.fa-truck-monster:before { + content: "\f63b"; +} + +.fa-truck-moving:before { + content: "\f4df"; +} + +.fa-truck-pickup:before { + content: "\f63c"; +} + +.fa-truck-plow:before { + content: "\f7de"; +} + +.fa-truck-ramp:before { + content: "\f4e0"; +} + +.fa-trumpet:before { + content: "\f8e3"; +} + +.fa-tshirt:before { + content: "\f553"; +} + +.fa-tty:before { + content: "\f1e4"; +} + +.fa-tumblr:before { + content: "\f173"; +} + +.fa-tumblr-square:before { + content: "\f174"; +} + +.fa-turkey:before { + content: "\f725"; +} + +.fa-turntable:before { + content: "\f8e4"; +} + +.fa-turtle:before { + content: "\f726"; +} + +.fa-tv:before { + content: "\f26c"; +} + +.fa-tv-alt:before { + content: "\f8e5"; +} + +.fa-tv-music:before { + content: "\f8e6"; +} + +.fa-tv-retro:before { + content: "\f401"; +} + +.fa-twitch:before { + content: "\f1e8"; +} + +.fa-twitter:before { + content: "\f099"; +} + +.fa-twitter-square:before { + content: "\f081"; +} + +.fa-typewriter:before { + content: "\f8e7"; +} + +.fa-typo3:before { + content: "\f42b"; +} + +.fa-uber:before { + content: "\f402"; +} + +.fa-ubuntu:before { + content: "\f7df"; +} + +.fa-ufo:before { + content: "\e047"; +} + +.fa-ufo-beam:before { + content: "\e048"; +} + +.fa-uikit:before { + content: "\f403"; +} + +.fa-umbraco:before { + content: "\f8e8"; +} + +.fa-umbrella:before { + content: "\f0e9"; +} + +.fa-umbrella-beach:before { + content: "\f5ca"; +} + +.fa-underline:before { + content: "\f0cd"; +} + +.fa-undo:before { + content: "\f0e2"; +} + +.fa-undo-alt:before { + content: "\f2ea"; +} + +.fa-unicorn:before { + content: "\f727"; +} + +.fa-union:before { + content: "\f6a2"; +} + +.fa-uniregistry:before { + content: "\f404"; +} + +.fa-unity:before { + content: "\e049"; +} + +.fa-universal-access:before { + content: "\f29a"; +} + +.fa-university:before { + content: "\f19c"; +} + +.fa-unlink:before { + content: "\f127"; +} + +.fa-unlock:before { + content: "\f09c"; +} + +.fa-unlock-alt:before { + content: "\f13e"; +} + +.fa-unsplash:before { + content: "\e07c"; +} + +.fa-untappd:before { + content: "\f405"; +} + +.fa-upload:before { + content: "\f093"; +} + +.fa-ups:before { + content: "\f7e0"; +} + +.fa-usb:before { + content: "\f287"; +} + +.fa-usb-drive:before { + content: "\f8e9"; +} + +.fa-usd-circle:before { + content: "\f2e8"; +} + +.fa-usd-square:before { + content: "\f2e9"; +} + +.fa-user:before { + content: "\f007"; +} + +.fa-user-alien:before { + content: "\e04a"; +} + +.fa-user-alt:before { + content: "\f406"; +} + +.fa-user-alt-slash:before { + content: "\f4fa"; +} + +.fa-user-astronaut:before { + content: "\f4fb"; +} + +.fa-user-chart:before { + content: "\f6a3"; +} + +.fa-user-check:before { + content: "\f4fc"; +} + +.fa-user-circle:before { + content: "\f2bd"; +} + +.fa-user-clock:before { + content: "\f4fd"; +} + +.fa-user-cog:before { + content: "\f4fe"; +} + +.fa-user-cowboy:before { + content: "\f8ea"; +} + +.fa-user-crown:before { + content: "\f6a4"; +} + +.fa-user-edit:before { + content: "\f4ff"; +} + +.fa-user-friends:before { + content: "\f500"; +} + +.fa-user-graduate:before { + content: "\f501"; +} + +.fa-user-hard-hat:before { + content: "\f82c"; +} + +.fa-user-headset:before { + content: "\f82d"; +} + +.fa-user-injured:before { + content: "\f728"; +} + +.fa-user-lock:before { + content: "\f502"; +} + +.fa-user-md:before { + content: "\f0f0"; +} + +.fa-user-md-chat:before { + content: "\f82e"; +} + +.fa-user-minus:before { + content: "\f503"; +} + +.fa-user-music:before { + content: "\f8eb"; +} + +.fa-user-ninja:before { + content: "\f504"; +} + +.fa-user-nurse:before { + content: "\f82f"; +} + +.fa-user-plus:before { + content: "\f234"; +} + +.fa-user-robot:before { + content: "\e04b"; +} + +.fa-user-secret:before { + content: "\f21b"; +} + +.fa-user-shield:before { + content: "\f505"; +} + +.fa-user-slash:before { + content: "\f506"; +} + +.fa-user-tag:before { + content: "\f507"; +} + +.fa-user-tie:before { + content: "\f508"; +} + +.fa-user-times:before { + content: "\f235"; +} + +.fa-user-unlock:before { + content: "\e058"; +} + +.fa-user-visor:before { + content: "\e04c"; +} + +.fa-users:before { + content: "\f0c0"; +} + +.fa-users-class:before { + content: "\f63d"; +} + +.fa-users-cog:before { + content: "\f509"; +} + +.fa-users-crown:before { + content: "\f6a5"; +} + +.fa-users-medical:before { + content: "\f830"; +} + +.fa-users-slash:before { + content: "\e073"; +} + +.fa-usps:before { + content: "\f7e1"; +} + +.fa-ussunnah:before { + content: "\f407"; +} + +.fa-utensil-fork:before { + content: "\f2e3"; +} + +.fa-utensil-knife:before { + content: "\f2e4"; +} + +.fa-utensil-spoon:before { + content: "\f2e5"; +} + +.fa-utensils:before { + content: "\f2e7"; +} + +.fa-utensils-alt:before { + content: "\f2e6"; +} + +.fa-vaadin:before { + content: "\f408"; +} + +.fa-vacuum:before { + content: "\e04d"; +} + +.fa-vacuum-robot:before { + content: "\e04e"; +} + +.fa-value-absolute:before { + content: "\f6a6"; +} + +.fa-vector-square:before { + content: "\f5cb"; +} + +.fa-venus:before { + content: "\f221"; +} + +.fa-venus-double:before { + content: "\f226"; +} + +.fa-venus-mars:before { + content: "\f228"; +} + +.fa-vhs:before { + content: "\f8ec"; +} + +.fa-viacoin:before { + content: "\f237"; +} + +.fa-viadeo:before { + content: "\f2a9"; +} + +.fa-viadeo-square:before { + content: "\f2aa"; +} + +.fa-vial:before { + content: "\f492"; +} + +.fa-vials:before { + content: "\f493"; +} + +.fa-viber:before { + content: "\f409"; +} + +.fa-video:before { + content: "\f03d"; +} + +.fa-video-plus:before { + content: "\f4e1"; +} + +.fa-video-slash:before { + content: "\f4e2"; +} + +.fa-vihara:before { + content: "\f6a7"; +} + +.fa-vimeo:before { + content: "\f40a"; +} + +.fa-vimeo-square:before { + content: "\f194"; +} + +.fa-vimeo-v:before { + content: "\f27d"; +} + +.fa-vine:before { + content: "\f1ca"; +} + +.fa-violin:before { + content: "\f8ed"; +} + +.fa-virus:before { + content: "\e074"; +} + +.fa-virus-slash:before { + content: "\e075"; +} + +.fa-viruses:before { + content: "\e076"; +} + +.fa-vk:before { + content: "\f189"; +} + +.fa-vnv:before { + content: "\f40b"; +} + +.fa-voicemail:before { + content: "\f897"; +} + +.fa-volcano:before { + content: "\f770"; +} + +.fa-volleyball-ball:before { + content: "\f45f"; +} + +.fa-volume:before { + content: "\f6a8"; +} + +.fa-volume-down:before { + content: "\f027"; +} + +.fa-volume-mute:before { + content: "\f6a9"; +} + +.fa-volume-off:before { + content: "\f026"; +} + +.fa-volume-slash:before { + content: "\f2e2"; +} + +.fa-volume-up:before { + content: "\f028"; +} + +.fa-vote-nay:before { + content: "\f771"; +} + +.fa-vote-yea:before { + content: "\f772"; +} + +.fa-vr-cardboard:before { + content: "\f729"; +} + +.fa-vuejs:before { + content: "\f41f"; +} + +.fa-wagon-covered:before { + content: "\f8ee"; +} + +.fa-walker:before { + content: "\f831"; +} + +.fa-walkie-talkie:before { + content: "\f8ef"; +} + +.fa-walking:before { + content: "\f554"; +} + +.fa-wallet:before { + content: "\f555"; +} + +.fa-wand:before { + content: "\f72a"; +} + +.fa-wand-magic:before { + content: "\f72b"; +} + +.fa-warehouse:before { + content: "\f494"; +} + +.fa-warehouse-alt:before { + content: "\f495"; +} + +.fa-washer:before { + content: "\f898"; +} + +.fa-watch:before { + content: "\f2e1"; +} + +.fa-watch-calculator:before { + content: "\f8f0"; +} + +.fa-watch-fitness:before { + content: "\f63e"; +} + +.fa-water:before { + content: "\f773"; +} + +.fa-water-lower:before { + content: "\f774"; +} + +.fa-water-rise:before { + content: "\f775"; +} + +.fa-wave-sine:before { + content: "\f899"; +} + +.fa-wave-square:before { + content: "\f83e"; +} + +.fa-wave-triangle:before { + content: "\f89a"; +} + +.fa-waveform:before { + content: "\f8f1"; +} + +.fa-waveform-path:before { + content: "\f8f2"; +} + +.fa-waze:before { + content: "\f83f"; +} + +.fa-webcam:before { + content: "\f832"; +} + +.fa-webcam-slash:before { + content: "\f833"; +} + +.fa-weebly:before { + content: "\f5cc"; +} + +.fa-weibo:before { + content: "\f18a"; +} + +.fa-weight:before { + content: "\f496"; +} + +.fa-weight-hanging:before { + content: "\f5cd"; +} + +.fa-weixin:before { + content: "\f1d7"; +} + +.fa-whale:before { + content: "\f72c"; +} + +.fa-whatsapp:before { + content: "\f232"; +} + +.fa-whatsapp-square:before { + content: "\f40c"; +} + +.fa-wheat:before { + content: "\f72d"; +} + +.fa-wheelchair:before { + content: "\f193"; +} + +.fa-whistle:before { + content: "\f460"; +} + +.fa-whmcs:before { + content: "\f40d"; +} + +.fa-wifi:before { + content: "\f1eb"; +} + +.fa-wifi-1:before { + content: "\f6aa"; +} + +.fa-wifi-2:before { + content: "\f6ab"; +} + +.fa-wifi-slash:before { + content: "\f6ac"; +} + +.fa-wikipedia-w:before { + content: "\f266"; +} + +.fa-wind:before { + content: "\f72e"; +} + +.fa-wind-turbine:before { + content: "\f89b"; +} + +.fa-wind-warning:before { + content: "\f776"; +} + +.fa-window:before { + content: "\f40e"; +} + +.fa-window-alt:before { + content: "\f40f"; +} + +.fa-window-close:before { + content: "\f410"; +} + +.fa-window-frame:before { + content: "\e04f"; +} + +.fa-window-frame-open:before { + content: "\e050"; +} + +.fa-window-maximize:before { + content: "\f2d0"; +} + +.fa-window-minimize:before { + content: "\f2d1"; +} + +.fa-window-restore:before { + content: "\f2d2"; +} + +.fa-windows:before { + content: "\f17a"; +} + +.fa-windsock:before { + content: "\f777"; +} + +.fa-wine-bottle:before { + content: "\f72f"; +} + +.fa-wine-glass:before { + content: "\f4e3"; +} + +.fa-wine-glass-alt:before { + content: "\f5ce"; +} + +.fa-wix:before { + content: "\f5cf"; +} + +.fa-wizards-of-the-coast:before { + content: "\f730"; +} + +.fa-wolf-pack-battalion:before { + content: "\f514"; +} + +.fa-won-sign:before { + content: "\f159"; +} + +.fa-wordpress:before { + content: "\f19a"; +} + +.fa-wordpress-simple:before { + content: "\f411"; +} + +.fa-wpbeginner:before { + content: "\f297"; +} + +.fa-wpexplorer:before { + content: "\f2de"; +} + +.fa-wpforms:before { + content: "\f298"; +} + +.fa-wpressr:before { + content: "\f3e4"; +} + +.fa-wreath:before { + content: "\f7e2"; +} + +.fa-wrench:before { + content: "\f0ad"; +} + +.fa-x-ray:before { + content: "\f497"; +} + +.fa-xbox:before { + content: "\f412"; +} + +.fa-xing:before { + content: "\f168"; +} + +.fa-xing-square:before { + content: "\f169"; +} + +.fa-y-combinator:before { + content: "\f23b"; +} + +.fa-yahoo:before { + content: "\f19e"; +} + +.fa-yammer:before { + content: "\f840"; +} + +.fa-yandex:before { + content: "\f413"; +} + +.fa-yandex-international:before { + content: "\f414"; +} + +.fa-yarn:before { + content: "\f7e3"; +} + +.fa-yelp:before { + content: "\f1e9"; +} + +.fa-yen-sign:before { + content: "\f157"; +} + +.fa-yin-yang:before { + content: "\f6ad"; +} + +.fa-yoast:before { + content: "\f2b1"; +} + +.fa-youtube:before { + content: "\f167"; +} + +.fa-youtube-square:before { + content: "\f431"; +} + +.fa-zhihu:before { + content: "\f63f"; +} + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + +.fa-xxxs { + font-size: .55em; +} + +.fa-xxs { + font-size: .775em; +} + +.fa-sm { + font-size: .95em; +} + +.fa-md { + font-size: 1.15em; +} + +.fa-xl { + font-size: 1.655em; +} + +/*! + * Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ +@font-face { + font-family: 'Font Awesome 5 Pro'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../fonts/font-awesome/fa-solid-900.eot"); + src: url("../fonts/font-awesome/fa-solid-900d41d.eot?#iefix") format("embedded-opentype"), url("../fonts/font-awesome/fa-solid-900.html") format("woff2"), url("../fonts/font-awesome/fa-solid-900.woff") format("woff"), url("../fonts/font-awesome/fa-solid-900.ttf") format("truetype"), url("../fonts/font-awesome/fa-solid-900.svg#fontawesome") format("svg"); +} + +.fa, +.fas { + font-family: 'Font Awesome 5 Pro'; + font-weight: 900; +} + +/*! + * Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ +@font-face { + font-family: 'Font Awesome 5 Pro'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../fonts/font-awesome/fa-regular-400.eot"); + src: url("../fonts/font-awesome/fa-regular-400d41d.eot?#iefix") format("embedded-opentype"), url("../fonts/font-awesome/fa-regular-400.html") format("woff2"), url("../fonts/font-awesome/fa-regular-400.woff") format("woff"), url("../fonts/font-awesome/fa-regular-400.ttf") format("truetype"), url("../fonts/font-awesome/fa-regular-400.svg#fontawesome") format("svg"); +} + +.far { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400; +} + +/*! + * Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ +@font-face { + font-family: 'Font Awesome 5 Pro'; + font-style: normal; + font-weight: 300; + font-display: block; + src: url("../fonts/font-awesome/fa-light-300.eot"); + src: url("../fonts/font-awesome/fa-light-300d41d.eot?#iefix") format("embedded-opentype"), url("../fonts/font-awesome/fa-light-300.html") format("woff2"), url("../fonts/font-awesome/fa-light-300.woff") format("woff"), url("../fonts/font-awesome/fa-light-300.ttf") format("truetype"), url("../fonts/font-awesome/fa-light-300.svg#fontawesome") format("svg"); +} + +.fal { + font-family: 'Font Awesome 5 Pro'; + font-weight: 300; +} + +/*! + * Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ +@font-face { + font-family: 'Font Awesome 5 Duotone'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../fonts/font-awesome/fa-duotone-900.eot"); + src: url("../fonts/font-awesome/fa-duotone-900d41d.eot?#iefix") format("embedded-opentype"), url("../fonts/font-awesome/fa-duotone-900.html") format("woff2"), url("../fonts/font-awesome/fa-duotone-900.woff") format("woff"), url("../fonts/font-awesome/fa-duotone-900.ttf") format("truetype"), url("../fonts/font-awesome/fa-duotone-900.svg#fontawesome") format("svg"); +} + +.fad { + position: relative; + font-family: 'Font Awesome 5 Duotone'; + font-weight: 900; +} + +.fad:before { + position: absolute; + color: var(--fa-primary-color, inherit); + opacity: 1; + opacity: var(--fa-primary-opacity, 1); +} + +.fad:after { + color: var(--fa-secondary-color, inherit); + opacity: 0.4; + opacity: var(--fa-secondary-opacity, 0.4); +} + +.fa-swap-opacity .fad:before, +.fad.fa-swap-opacity:before { + opacity: 0.4; + opacity: var(--fa-secondary-opacity, 0.4); +} + +.fa-swap-opacity .fad:after, +.fad.fa-swap-opacity:after { + opacity: 1; + opacity: var(--fa-primary-opacity, 1); +} + +.fad.fa-inverse { + color: #fff; +} + +.fad.fa-stack-1x, .fad.fa-stack-2x { + position: absolute; +} + +.fad.fa-stack-1x:before, +.fad.fa-stack-2x:before, +.fad.fa-fw:before { + left: 50%; + transform: translateX(-50%); +} + +.fad.fa-abacus:after { + content: "\10f640"; +} + +.fad.fa-acorn:after { + content: "\10f6ae"; +} + +.fad.fa-ad:after { + content: "\10f641"; +} + +.fad.fa-address-book:after { + content: "\10f2b9"; +} + +.fad.fa-address-card:after { + content: "\10f2bb"; +} + +.fad.fa-adjust:after { + content: "\10f042"; +} + +.fad.fa-air-conditioner:after { + content: "\10f8f4"; +} + +.fad.fa-air-freshener:after { + content: "\10f5d0"; +} + +.fad.fa-alarm-clock:after { + content: "\10f34e"; +} + +.fad.fa-alarm-exclamation:after { + content: "\10f843"; +} + +.fad.fa-alarm-plus:after { + content: "\10f844"; +} + +.fad.fa-alarm-snooze:after { + content: "\10f845"; +} + +.fad.fa-album:after { + content: "\10f89f"; +} + +.fad.fa-album-collection:after { + content: "\10f8a0"; +} + +.fad.fa-alicorn:after { + content: "\10f6b0"; +} + +.fad.fa-alien:after { + content: "\10f8f5"; +} + +.fad.fa-alien-monster:after { + content: "\10f8f6"; +} + +.fad.fa-align-center:after { + content: "\10f037"; +} + +.fad.fa-align-justify:after { + content: "\10f039"; +} + +.fad.fa-align-left:after { + content: "\10f036"; +} + +.fad.fa-align-right:after { + content: "\10f038"; +} + +.fad.fa-align-slash:after { + content: "\10f846"; +} + +.fad.fa-allergies:after { + content: "\10f461"; +} + +.fad.fa-ambulance:after { + content: "\10f0f9"; +} + +.fad.fa-american-sign-language-interpreting:after { + content: "\10f2a3"; +} + +.fad.fa-amp-guitar:after { + content: "\10f8a1"; +} + +.fad.fa-analytics:after { + content: "\10f643"; +} + +.fad.fa-anchor:after { + content: "\10f13d"; +} + +.fad.fa-angel:after { + content: "\10f779"; +} + +.fad.fa-angle-double-down:after { + content: "\10f103"; +} + +.fad.fa-angle-double-left:after { + content: "\10f100"; +} + +.fad.fa-angle-double-right:after { + content: "\10f101"; +} + +.fad.fa-angle-double-up:after { + content: "\10f102"; +} + +.fad.fa-angle-down:after { + content: "\10f107"; +} + +.fad.fa-angle-left:after { + content: "\10f104"; +} + +.fad.fa-angle-right:after { + content: "\10f105"; +} + +.fad.fa-angle-up:after { + content: "\10f106"; +} + +.fad.fa-angry:after { + content: "\10f556"; +} + +.fad.fa-ankh:after { + content: "\10f644"; +} + +.fad.fa-apple-alt:after { + content: "\10f5d1"; +} + +.fad.fa-apple-crate:after { + content: "\10f6b1"; +} + +.fad.fa-archive:after { + content: "\10f187"; +} + +.fad.fa-archway:after { + content: "\10f557"; +} + +.fad.fa-arrow-alt-circle-down:after { + content: "\10f358"; +} + +.fad.fa-arrow-alt-circle-left:after { + content: "\10f359"; +} + +.fad.fa-arrow-alt-circle-right:after { + content: "\10f35a"; +} + +.fad.fa-arrow-alt-circle-up:after { + content: "\10f35b"; +} + +.fad.fa-arrow-alt-down:after { + content: "\10f354"; +} + +.fad.fa-arrow-alt-from-bottom:after { + content: "\10f346"; +} + +.fad.fa-arrow-alt-from-left:after { + content: "\10f347"; +} + +.fad.fa-arrow-alt-from-right:after { + content: "\10f348"; +} + +.fad.fa-arrow-alt-from-top:after { + content: "\10f349"; +} + +.fad.fa-arrow-alt-left:after { + content: "\10f355"; +} + +.fad.fa-arrow-alt-right:after { + content: "\10f356"; +} + +.fad.fa-arrow-alt-square-down:after { + content: "\10f350"; +} + +.fad.fa-arrow-alt-square-left:after { + content: "\10f351"; +} + +.fad.fa-arrow-alt-square-right:after { + content: "\10f352"; +} + +.fad.fa-arrow-alt-square-up:after { + content: "\10f353"; +} + +.fad.fa-arrow-alt-to-bottom:after { + content: "\10f34a"; +} + +.fad.fa-arrow-alt-to-left:after { + content: "\10f34b"; +} + +.fad.fa-arrow-alt-to-right:after { + content: "\10f34c"; +} + +.fad.fa-arrow-alt-to-top:after { + content: "\10f34d"; +} + +.fad.fa-arrow-alt-up:after { + content: "\10f357"; +} + +.fad.fa-arrow-circle-down:after { + content: "\10f0ab"; +} + +.fad.fa-arrow-circle-left:after { + content: "\10f0a8"; +} + +.fad.fa-arrow-circle-right:after { + content: "\10f0a9"; +} + +.fad.fa-arrow-circle-up:after { + content: "\10f0aa"; +} + +.fad.fa-arrow-down:after { + content: "\10f063"; +} + +.fad.fa-arrow-from-bottom:after { + content: "\10f342"; +} + +.fad.fa-arrow-from-left:after { + content: "\10f343"; +} + +.fad.fa-arrow-from-right:after { + content: "\10f344"; +} + +.fad.fa-arrow-from-top:after { + content: "\10f345"; +} + +.fad.fa-arrow-left:after { + content: "\10f060"; +} + +.fad.fa-arrow-right:after { + content: "\10f061"; +} + +.fad.fa-arrow-square-down:after { + content: "\10f339"; +} + +.fad.fa-arrow-square-left:after { + content: "\10f33a"; +} + +.fad.fa-arrow-square-right:after { + content: "\10f33b"; +} + +.fad.fa-arrow-square-up:after { + content: "\10f33c"; +} + +.fad.fa-arrow-to-bottom:after { + content: "\10f33d"; +} + +.fad.fa-arrow-to-left:after { + content: "\10f33e"; +} + +.fad.fa-arrow-to-right:after { + content: "\10f340"; +} + +.fad.fa-arrow-to-top:after { + content: "\10f341"; +} + +.fad.fa-arrow-up:after { + content: "\10f062"; +} + +.fad.fa-arrows:after { + content: "\10f047"; +} + +.fad.fa-arrows-alt:after { + content: "\10f0b2"; +} + +.fad.fa-arrows-alt-h:after { + content: "\10f337"; +} + +.fad.fa-arrows-alt-v:after { + content: "\10f338"; +} + +.fad.fa-arrows-h:after { + content: "\10f07e"; +} + +.fad.fa-arrows-v:after { + content: "\10f07d"; +} + +.fad.fa-assistive-listening-systems:after { + content: "\10f2a2"; +} + +.fad.fa-asterisk:after { + content: "\10f069"; +} + +.fad.fa-at:after { + content: "\10f1fa"; +} + +.fad.fa-atlas:after { + content: "\10f558"; +} + +.fad.fa-atom:after { + content: "\10f5d2"; +} + +.fad.fa-atom-alt:after { + content: "\10f5d3"; +} + +.fad.fa-audio-description:after { + content: "\10f29e"; +} + +.fad.fa-award:after { + content: "\10f559"; +} + +.fad.fa-axe:after { + content: "\10f6b2"; +} + +.fad.fa-axe-battle:after { + content: "\10f6b3"; +} + +.fad.fa-baby:after { + content: "\10f77c"; +} + +.fad.fa-baby-carriage:after { + content: "\10f77d"; +} + +.fad.fa-backpack:after { + content: "\10f5d4"; +} + +.fad.fa-backspace:after { + content: "\10f55a"; +} + +.fad.fa-backward:after { + content: "\10f04a"; +} + +.fad.fa-bacon:after { + content: "\10f7e5"; +} + +.fad.fa-bacteria:after { + content: "\10e059"; +} + +.fad.fa-bacterium:after { + content: "\10e05a"; +} + +.fad.fa-badge:after { + content: "\10f335"; +} + +.fad.fa-badge-check:after { + content: "\10f336"; +} + +.fad.fa-badge-dollar:after { + content: "\10f645"; +} + +.fad.fa-badge-percent:after { + content: "\10f646"; +} + +.fad.fa-badge-sheriff:after { + content: "\10f8a2"; +} + +.fad.fa-badger-honey:after { + content: "\10f6b4"; +} + +.fad.fa-bags-shopping:after { + content: "\10f847"; +} + +.fad.fa-bahai:after { + content: "\10f666"; +} + +.fad.fa-balance-scale:after { + content: "\10f24e"; +} + +.fad.fa-balance-scale-left:after { + content: "\10f515"; +} + +.fad.fa-balance-scale-right:after { + content: "\10f516"; +} + +.fad.fa-ball-pile:after { + content: "\10f77e"; +} + +.fad.fa-ballot:after { + content: "\10f732"; +} + +.fad.fa-ballot-check:after { + content: "\10f733"; +} + +.fad.fa-ban:after { + content: "\10f05e"; +} + +.fad.fa-band-aid:after { + content: "\10f462"; +} + +.fad.fa-banjo:after { + content: "\10f8a3"; +} + +.fad.fa-barcode:after { + content: "\10f02a"; +} + +.fad.fa-barcode-alt:after { + content: "\10f463"; +} + +.fad.fa-barcode-read:after { + content: "\10f464"; +} + +.fad.fa-barcode-scan:after { + content: "\10f465"; +} + +.fad.fa-bars:after { + content: "\10f0c9"; +} + +.fad.fa-baseball:after { + content: "\10f432"; +} + +.fad.fa-baseball-ball:after { + content: "\10f433"; +} + +.fad.fa-basketball-ball:after { + content: "\10f434"; +} + +.fad.fa-basketball-hoop:after { + content: "\10f435"; +} + +.fad.fa-bat:after { + content: "\10f6b5"; +} + +.fad.fa-bath:after { + content: "\10f2cd"; +} + +.fad.fa-battery-bolt:after { + content: "\10f376"; +} + +.fad.fa-battery-empty:after { + content: "\10f244"; +} + +.fad.fa-battery-full:after { + content: "\10f240"; +} + +.fad.fa-battery-half:after { + content: "\10f242"; +} + +.fad.fa-battery-quarter:after { + content: "\10f243"; +} + +.fad.fa-battery-slash:after { + content: "\10f377"; +} + +.fad.fa-battery-three-quarters:after { + content: "\10f241"; +} + +.fad.fa-bed:after { + content: "\10f236"; +} + +.fad.fa-bed-alt:after { + content: "\10f8f7"; +} + +.fad.fa-bed-bunk:after { + content: "\10f8f8"; +} + +.fad.fa-bed-empty:after { + content: "\10f8f9"; +} + +.fad.fa-beer:after { + content: "\10f0fc"; +} + +.fad.fa-bell:after { + content: "\10f0f3"; +} + +.fad.fa-bell-exclamation:after { + content: "\10f848"; +} + +.fad.fa-bell-on:after { + content: "\10f8fa"; +} + +.fad.fa-bell-plus:after { + content: "\10f849"; +} + +.fad.fa-bell-school:after { + content: "\10f5d5"; +} + +.fad.fa-bell-school-slash:after { + content: "\10f5d6"; +} + +.fad.fa-bell-slash:after { + content: "\10f1f6"; +} + +.fad.fa-bells:after { + content: "\10f77f"; +} + +.fad.fa-betamax:after { + content: "\10f8a4"; +} + +.fad.fa-bezier-curve:after { + content: "\10f55b"; +} + +.fad.fa-bible:after { + content: "\10f647"; +} + +.fad.fa-bicycle:after { + content: "\10f206"; +} + +.fad.fa-biking:after { + content: "\10f84a"; +} + +.fad.fa-biking-mountain:after { + content: "\10f84b"; +} + +.fad.fa-binoculars:after { + content: "\10f1e5"; +} + +.fad.fa-biohazard:after { + content: "\10f780"; +} + +.fad.fa-birthday-cake:after { + content: "\10f1fd"; +} + +.fad.fa-blanket:after { + content: "\10f498"; +} + +.fad.fa-blender:after { + content: "\10f517"; +} + +.fad.fa-blender-phone:after { + content: "\10f6b6"; +} + +.fad.fa-blind:after { + content: "\10f29d"; +} + +.fad.fa-blinds:after { + content: "\10f8fb"; +} + +.fad.fa-blinds-open:after { + content: "\10f8fc"; +} + +.fad.fa-blinds-raised:after { + content: "\10f8fd"; +} + +.fad.fa-blog:after { + content: "\10f781"; +} + +.fad.fa-bold:after { + content: "\10f032"; +} + +.fad.fa-bolt:after { + content: "\10f0e7"; +} + +.fad.fa-bomb:after { + content: "\10f1e2"; +} + +.fad.fa-bone:after { + content: "\10f5d7"; +} + +.fad.fa-bone-break:after { + content: "\10f5d8"; +} + +.fad.fa-bong:after { + content: "\10f55c"; +} + +.fad.fa-book:after { + content: "\10f02d"; +} + +.fad.fa-book-alt:after { + content: "\10f5d9"; +} + +.fad.fa-book-dead:after { + content: "\10f6b7"; +} + +.fad.fa-book-heart:after { + content: "\10f499"; +} + +.fad.fa-book-medical:after { + content: "\10f7e6"; +} + +.fad.fa-book-open:after { + content: "\10f518"; +} + +.fad.fa-book-reader:after { + content: "\10f5da"; +} + +.fad.fa-book-spells:after { + content: "\10f6b8"; +} + +.fad.fa-book-user:after { + content: "\10f7e7"; +} + +.fad.fa-bookmark:after { + content: "\10f02e"; +} + +.fad.fa-books:after { + content: "\10f5db"; +} + +.fad.fa-books-medical:after { + content: "\10f7e8"; +} + +.fad.fa-boombox:after { + content: "\10f8a5"; +} + +.fad.fa-boot:after { + content: "\10f782"; +} + +.fad.fa-booth-curtain:after { + content: "\10f734"; +} + +.fad.fa-border-all:after { + content: "\10f84c"; +} + +.fad.fa-border-bottom:after { + content: "\10f84d"; +} + +.fad.fa-border-center-h:after { + content: "\10f89c"; +} + +.fad.fa-border-center-v:after { + content: "\10f89d"; +} + +.fad.fa-border-inner:after { + content: "\10f84e"; +} + +.fad.fa-border-left:after { + content: "\10f84f"; +} + +.fad.fa-border-none:after { + content: "\10f850"; +} + +.fad.fa-border-outer:after { + content: "\10f851"; +} + +.fad.fa-border-right:after { + content: "\10f852"; +} + +.fad.fa-border-style:after { + content: "\10f853"; +} + +.fad.fa-border-style-alt:after { + content: "\10f854"; +} + +.fad.fa-border-top:after { + content: "\10f855"; +} + +.fad.fa-bow-arrow:after { + content: "\10f6b9"; +} + +.fad.fa-bowling-ball:after { + content: "\10f436"; +} + +.fad.fa-bowling-pins:after { + content: "\10f437"; +} + +.fad.fa-box:after { + content: "\10f466"; +} + +.fad.fa-box-alt:after { + content: "\10f49a"; +} + +.fad.fa-box-ballot:after { + content: "\10f735"; +} + +.fad.fa-box-check:after { + content: "\10f467"; +} + +.fad.fa-box-fragile:after { + content: "\10f49b"; +} + +.fad.fa-box-full:after { + content: "\10f49c"; +} + +.fad.fa-box-heart:after { + content: "\10f49d"; +} + +.fad.fa-box-open:after { + content: "\10f49e"; +} + +.fad.fa-box-tissue:after { + content: "\10e05b"; +} + +.fad.fa-box-up:after { + content: "\10f49f"; +} + +.fad.fa-box-usd:after { + content: "\10f4a0"; +} + +.fad.fa-boxes:after { + content: "\10f468"; +} + +.fad.fa-boxes-alt:after { + content: "\10f4a1"; +} + +.fad.fa-boxing-glove:after { + content: "\10f438"; +} + +.fad.fa-brackets:after { + content: "\10f7e9"; +} + +.fad.fa-brackets-curly:after { + content: "\10f7ea"; +} + +.fad.fa-braille:after { + content: "\10f2a1"; +} + +.fad.fa-brain:after { + content: "\10f5dc"; +} + +.fad.fa-bread-loaf:after { + content: "\10f7eb"; +} + +.fad.fa-bread-slice:after { + content: "\10f7ec"; +} + +.fad.fa-briefcase:after { + content: "\10f0b1"; +} + +.fad.fa-briefcase-medical:after { + content: "\10f469"; +} + +.fad.fa-bring-forward:after { + content: "\10f856"; +} + +.fad.fa-bring-front:after { + content: "\10f857"; +} + +.fad.fa-broadcast-tower:after { + content: "\10f519"; +} + +.fad.fa-broom:after { + content: "\10f51a"; +} + +.fad.fa-browser:after { + content: "\10f37e"; +} + +.fad.fa-brush:after { + content: "\10f55d"; +} + +.fad.fa-bug:after { + content: "\10f188"; +} + +.fad.fa-building:after { + content: "\10f1ad"; +} + +.fad.fa-bullhorn:after { + content: "\10f0a1"; +} + +.fad.fa-bullseye:after { + content: "\10f140"; +} + +.fad.fa-bullseye-arrow:after { + content: "\10f648"; +} + +.fad.fa-bullseye-pointer:after { + content: "\10f649"; +} + +.fad.fa-burger-soda:after { + content: "\10f858"; +} + +.fad.fa-burn:after { + content: "\10f46a"; +} + +.fad.fa-burrito:after { + content: "\10f7ed"; +} + +.fad.fa-bus:after { + content: "\10f207"; +} + +.fad.fa-bus-alt:after { + content: "\10f55e"; +} + +.fad.fa-bus-school:after { + content: "\10f5dd"; +} + +.fad.fa-business-time:after { + content: "\10f64a"; +} + +.fad.fa-cabinet-filing:after { + content: "\10f64b"; +} + +.fad.fa-cactus:after { + content: "\10f8a7"; +} + +.fad.fa-calculator:after { + content: "\10f1ec"; +} + +.fad.fa-calculator-alt:after { + content: "\10f64c"; +} + +.fad.fa-calendar:after { + content: "\10f133"; +} + +.fad.fa-calendar-alt:after { + content: "\10f073"; +} + +.fad.fa-calendar-check:after { + content: "\10f274"; +} + +.fad.fa-calendar-day:after { + content: "\10f783"; +} + +.fad.fa-calendar-edit:after { + content: "\10f333"; +} + +.fad.fa-calendar-exclamation:after { + content: "\10f334"; +} + +.fad.fa-calendar-minus:after { + content: "\10f272"; +} + +.fad.fa-calendar-plus:after { + content: "\10f271"; +} + +.fad.fa-calendar-star:after { + content: "\10f736"; +} + +.fad.fa-calendar-times:after { + content: "\10f273"; +} + +.fad.fa-calendar-week:after { + content: "\10f784"; +} + +.fad.fa-camcorder:after { + content: "\10f8a8"; +} + +.fad.fa-camera:after { + content: "\10f030"; +} + +.fad.fa-camera-alt:after { + content: "\10f332"; +} + +.fad.fa-camera-home:after { + content: "\10f8fe"; +} + +.fad.fa-camera-movie:after { + content: "\10f8a9"; +} + +.fad.fa-camera-polaroid:after { + content: "\10f8aa"; +} + +.fad.fa-camera-retro:after { + content: "\10f083"; +} + +.fad.fa-campfire:after { + content: "\10f6ba"; +} + +.fad.fa-campground:after { + content: "\10f6bb"; +} + +.fad.fa-candle-holder:after { + content: "\10f6bc"; +} + +.fad.fa-candy-cane:after { + content: "\10f786"; +} + +.fad.fa-candy-corn:after { + content: "\10f6bd"; +} + +.fad.fa-cannabis:after { + content: "\10f55f"; +} + +.fad.fa-capsules:after { + content: "\10f46b"; +} + +.fad.fa-car:after { + content: "\10f1b9"; +} + +.fad.fa-car-alt:after { + content: "\10f5de"; +} + +.fad.fa-car-battery:after { + content: "\10f5df"; +} + +.fad.fa-car-building:after { + content: "\10f859"; +} + +.fad.fa-car-bump:after { + content: "\10f5e0"; +} + +.fad.fa-car-bus:after { + content: "\10f85a"; +} + +.fad.fa-car-crash:after { + content: "\10f5e1"; +} + +.fad.fa-car-garage:after { + content: "\10f5e2"; +} + +.fad.fa-car-mechanic:after { + content: "\10f5e3"; +} + +.fad.fa-car-side:after { + content: "\10f5e4"; +} + +.fad.fa-car-tilt:after { + content: "\10f5e5"; +} + +.fad.fa-car-wash:after { + content: "\10f5e6"; +} + +.fad.fa-caravan:after { + content: "\10f8ff"; +} + +.fad.fa-caravan-alt:after { + content: "\10e000"; +} + +.fad.fa-caret-circle-down:after { + content: "\10f32d"; +} + +.fad.fa-caret-circle-left:after { + content: "\10f32e"; +} + +.fad.fa-caret-circle-right:after { + content: "\10f330"; +} + +.fad.fa-caret-circle-up:after { + content: "\10f331"; +} + +.fad.fa-caret-down:after { + content: "\10f0d7"; +} + +.fad.fa-caret-left:after { + content: "\10f0d9"; +} + +.fad.fa-caret-right:after { + content: "\10f0da"; +} + +.fad.fa-caret-square-down:after { + content: "\10f150"; +} + +.fad.fa-caret-square-left:after { + content: "\10f191"; +} + +.fad.fa-caret-square-right:after { + content: "\10f152"; +} + +.fad.fa-caret-square-up:after { + content: "\10f151"; +} + +.fad.fa-caret-up:after { + content: "\10f0d8"; +} + +.fad.fa-carrot:after { + content: "\10f787"; +} + +.fad.fa-cars:after { + content: "\10f85b"; +} + +.fad.fa-cart-arrow-down:after { + content: "\10f218"; +} + +.fad.fa-cart-plus:after { + content: "\10f217"; +} + +.fad.fa-cash-register:after { + content: "\10f788"; +} + +.fad.fa-cassette-tape:after { + content: "\10f8ab"; +} + +.fad.fa-cat:after { + content: "\10f6be"; +} + +.fad.fa-cat-space:after { + content: "\10e001"; +} + +.fad.fa-cauldron:after { + content: "\10f6bf"; +} + +.fad.fa-cctv:after { + content: "\10f8ac"; +} + +.fad.fa-certificate:after { + content: "\10f0a3"; +} + +.fad.fa-chair:after { + content: "\10f6c0"; +} + +.fad.fa-chair-office:after { + content: "\10f6c1"; +} + +.fad.fa-chalkboard:after { + content: "\10f51b"; +} + +.fad.fa-chalkboard-teacher:after { + content: "\10f51c"; +} + +.fad.fa-charging-station:after { + content: "\10f5e7"; +} + +.fad.fa-chart-area:after { + content: "\10f1fe"; +} + +.fad.fa-chart-bar:after { + content: "\10f080"; +} + +.fad.fa-chart-line:after { + content: "\10f201"; +} + +.fad.fa-chart-line-down:after { + content: "\10f64d"; +} + +.fad.fa-chart-network:after { + content: "\10f78a"; +} + +.fad.fa-chart-pie:after { + content: "\10f200"; +} + +.fad.fa-chart-pie-alt:after { + content: "\10f64e"; +} + +.fad.fa-chart-scatter:after { + content: "\10f7ee"; +} + +.fad.fa-check:after { + content: "\10f00c"; +} + +.fad.fa-check-circle:after { + content: "\10f058"; +} + +.fad.fa-check-double:after { + content: "\10f560"; +} + +.fad.fa-check-square:after { + content: "\10f14a"; +} + +.fad.fa-cheese:after { + content: "\10f7ef"; +} + +.fad.fa-cheese-swiss:after { + content: "\10f7f0"; +} + +.fad.fa-cheeseburger:after { + content: "\10f7f1"; +} + +.fad.fa-chess:after { + content: "\10f439"; +} + +.fad.fa-chess-bishop:after { + content: "\10f43a"; +} + +.fad.fa-chess-bishop-alt:after { + content: "\10f43b"; +} + +.fad.fa-chess-board:after { + content: "\10f43c"; +} + +.fad.fa-chess-clock:after { + content: "\10f43d"; +} + +.fad.fa-chess-clock-alt:after { + content: "\10f43e"; +} + +.fad.fa-chess-king:after { + content: "\10f43f"; +} + +.fad.fa-chess-king-alt:after { + content: "\10f440"; +} + +.fad.fa-chess-knight:after { + content: "\10f441"; +} + +.fad.fa-chess-knight-alt:after { + content: "\10f442"; +} + +.fad.fa-chess-pawn:after { + content: "\10f443"; +} + +.fad.fa-chess-pawn-alt:after { + content: "\10f444"; +} + +.fad.fa-chess-queen:after { + content: "\10f445"; +} + +.fad.fa-chess-queen-alt:after { + content: "\10f446"; +} + +.fad.fa-chess-rook:after { + content: "\10f447"; +} + +.fad.fa-chess-rook-alt:after { + content: "\10f448"; +} + +.fad.fa-chevron-circle-down:after { + content: "\10f13a"; +} + +.fad.fa-chevron-circle-left:after { + content: "\10f137"; +} + +.fad.fa-chevron-circle-right:after { + content: "\10f138"; +} + +.fad.fa-chevron-circle-up:after { + content: "\10f139"; +} + +.fad.fa-chevron-double-down:after { + content: "\10f322"; +} + +.fad.fa-chevron-double-left:after { + content: "\10f323"; +} + +.fad.fa-chevron-double-right:after { + content: "\10f324"; +} + +.fad.fa-chevron-double-up:after { + content: "\10f325"; +} + +.fad.fa-chevron-down:after { + content: "\10f078"; +} + +.fad.fa-chevron-left:after { + content: "\10f053"; +} + +.fad.fa-chevron-right:after { + content: "\10f054"; +} + +.fad.fa-chevron-square-down:after { + content: "\10f329"; +} + +.fad.fa-chevron-square-left:after { + content: "\10f32a"; +} + +.fad.fa-chevron-square-right:after { + content: "\10f32b"; +} + +.fad.fa-chevron-square-up:after { + content: "\10f32c"; +} + +.fad.fa-chevron-up:after { + content: "\10f077"; +} + +.fad.fa-child:after { + content: "\10f1ae"; +} + +.fad.fa-chimney:after { + content: "\10f78b"; +} + +.fad.fa-church:after { + content: "\10f51d"; +} + +.fad.fa-circle:after { + content: "\10f111"; +} + +.fad.fa-circle-notch:after { + content: "\10f1ce"; +} + +.fad.fa-city:after { + content: "\10f64f"; +} + +.fad.fa-clarinet:after { + content: "\10f8ad"; +} + +.fad.fa-claw-marks:after { + content: "\10f6c2"; +} + +.fad.fa-clinic-medical:after { + content: "\10f7f2"; +} + +.fad.fa-clipboard:after { + content: "\10f328"; +} + +.fad.fa-clipboard-check:after { + content: "\10f46c"; +} + +.fad.fa-clipboard-list:after { + content: "\10f46d"; +} + +.fad.fa-clipboard-list-check:after { + content: "\10f737"; +} + +.fad.fa-clipboard-prescription:after { + content: "\10f5e8"; +} + +.fad.fa-clipboard-user:after { + content: "\10f7f3"; +} + +.fad.fa-clock:after { + content: "\10f017"; +} + +.fad.fa-clone:after { + content: "\10f24d"; +} + +.fad.fa-closed-captioning:after { + content: "\10f20a"; +} + +.fad.fa-cloud:after { + content: "\10f0c2"; +} + +.fad.fa-cloud-download:after { + content: "\10f0ed"; +} + +.fad.fa-cloud-download-alt:after { + content: "\10f381"; +} + +.fad.fa-cloud-drizzle:after { + content: "\10f738"; +} + +.fad.fa-cloud-hail:after { + content: "\10f739"; +} + +.fad.fa-cloud-hail-mixed:after { + content: "\10f73a"; +} + +.fad.fa-cloud-meatball:after { + content: "\10f73b"; +} + +.fad.fa-cloud-moon:after { + content: "\10f6c3"; +} + +.fad.fa-cloud-moon-rain:after { + content: "\10f73c"; +} + +.fad.fa-cloud-music:after { + content: "\10f8ae"; +} + +.fad.fa-cloud-rain:after { + content: "\10f73d"; +} + +.fad.fa-cloud-rainbow:after { + content: "\10f73e"; +} + +.fad.fa-cloud-showers:after { + content: "\10f73f"; +} + +.fad.fa-cloud-showers-heavy:after { + content: "\10f740"; +} + +.fad.fa-cloud-sleet:after { + content: "\10f741"; +} + +.fad.fa-cloud-snow:after { + content: "\10f742"; +} + +.fad.fa-cloud-sun:after { + content: "\10f6c4"; +} + +.fad.fa-cloud-sun-rain:after { + content: "\10f743"; +} + +.fad.fa-cloud-upload:after { + content: "\10f0ee"; +} + +.fad.fa-cloud-upload-alt:after { + content: "\10f382"; +} + +.fad.fa-clouds:after { + content: "\10f744"; +} + +.fad.fa-clouds-moon:after { + content: "\10f745"; +} + +.fad.fa-clouds-sun:after { + content: "\10f746"; +} + +.fad.fa-club:after { + content: "\10f327"; +} + +.fad.fa-cocktail:after { + content: "\10f561"; +} + +.fad.fa-code:after { + content: "\10f121"; +} + +.fad.fa-code-branch:after { + content: "\10f126"; +} + +.fad.fa-code-commit:after { + content: "\10f386"; +} + +.fad.fa-code-merge:after { + content: "\10f387"; +} + +.fad.fa-coffee:after { + content: "\10f0f4"; +} + +.fad.fa-coffee-pot:after { + content: "\10e002"; +} + +.fad.fa-coffee-togo:after { + content: "\10f6c5"; +} + +.fad.fa-coffin:after { + content: "\10f6c6"; +} + +.fad.fa-coffin-cross:after { + content: "\10e051"; +} + +.fad.fa-cog:after { + content: "\10f013"; +} + +.fad.fa-cogs:after { + content: "\10f085"; +} + +.fad.fa-coin:after { + content: "\10f85c"; +} + +.fad.fa-coins:after { + content: "\10f51e"; +} + +.fad.fa-columns:after { + content: "\10f0db"; +} + +.fad.fa-comet:after { + content: "\10e003"; +} + +.fad.fa-comment:after { + content: "\10f075"; +} + +.fad.fa-comment-alt:after { + content: "\10f27a"; +} + +.fad.fa-comment-alt-check:after { + content: "\10f4a2"; +} + +.fad.fa-comment-alt-dollar:after { + content: "\10f650"; +} + +.fad.fa-comment-alt-dots:after { + content: "\10f4a3"; +} + +.fad.fa-comment-alt-edit:after { + content: "\10f4a4"; +} + +.fad.fa-comment-alt-exclamation:after { + content: "\10f4a5"; +} + +.fad.fa-comment-alt-lines:after { + content: "\10f4a6"; +} + +.fad.fa-comment-alt-medical:after { + content: "\10f7f4"; +} + +.fad.fa-comment-alt-minus:after { + content: "\10f4a7"; +} + +.fad.fa-comment-alt-music:after { + content: "\10f8af"; +} + +.fad.fa-comment-alt-plus:after { + content: "\10f4a8"; +} + +.fad.fa-comment-alt-slash:after { + content: "\10f4a9"; +} + +.fad.fa-comment-alt-smile:after { + content: "\10f4aa"; +} + +.fad.fa-comment-alt-times:after { + content: "\10f4ab"; +} + +.fad.fa-comment-check:after { + content: "\10f4ac"; +} + +.fad.fa-comment-dollar:after { + content: "\10f651"; +} + +.fad.fa-comment-dots:after { + content: "\10f4ad"; +} + +.fad.fa-comment-edit:after { + content: "\10f4ae"; +} + +.fad.fa-comment-exclamation:after { + content: "\10f4af"; +} + +.fad.fa-comment-lines:after { + content: "\10f4b0"; +} + +.fad.fa-comment-medical:after { + content: "\10f7f5"; +} + +.fad.fa-comment-minus:after { + content: "\10f4b1"; +} + +.fad.fa-comment-music:after { + content: "\10f8b0"; +} + +.fad.fa-comment-plus:after { + content: "\10f4b2"; +} + +.fad.fa-comment-slash:after { + content: "\10f4b3"; +} + +.fad.fa-comment-smile:after { + content: "\10f4b4"; +} + +.fad.fa-comment-times:after { + content: "\10f4b5"; +} + +.fad.fa-comments:after { + content: "\10f086"; +} + +.fad.fa-comments-alt:after { + content: "\10f4b6"; +} + +.fad.fa-comments-alt-dollar:after { + content: "\10f652"; +} + +.fad.fa-comments-dollar:after { + content: "\10f653"; +} + +.fad.fa-compact-disc:after { + content: "\10f51f"; +} + +.fad.fa-compass:after { + content: "\10f14e"; +} + +.fad.fa-compass-slash:after { + content: "\10f5e9"; +} + +.fad.fa-compress:after { + content: "\10f066"; +} + +.fad.fa-compress-alt:after { + content: "\10f422"; +} + +.fad.fa-compress-arrows-alt:after { + content: "\10f78c"; +} + +.fad.fa-compress-wide:after { + content: "\10f326"; +} + +.fad.fa-computer-classic:after { + content: "\10f8b1"; +} + +.fad.fa-computer-speaker:after { + content: "\10f8b2"; +} + +.fad.fa-concierge-bell:after { + content: "\10f562"; +} + +.fad.fa-construction:after { + content: "\10f85d"; +} + +.fad.fa-container-storage:after { + content: "\10f4b7"; +} + +.fad.fa-conveyor-belt:after { + content: "\10f46e"; +} + +.fad.fa-conveyor-belt-alt:after { + content: "\10f46f"; +} + +.fad.fa-cookie:after { + content: "\10f563"; +} + +.fad.fa-cookie-bite:after { + content: "\10f564"; +} + +.fad.fa-copy:after { + content: "\10f0c5"; +} + +.fad.fa-copyright:after { + content: "\10f1f9"; +} + +.fad.fa-corn:after { + content: "\10f6c7"; +} + +.fad.fa-couch:after { + content: "\10f4b8"; +} + +.fad.fa-cow:after { + content: "\10f6c8"; +} + +.fad.fa-cowbell:after { + content: "\10f8b3"; +} + +.fad.fa-cowbell-more:after { + content: "\10f8b4"; +} + +.fad.fa-credit-card:after { + content: "\10f09d"; +} + +.fad.fa-credit-card-blank:after { + content: "\10f389"; +} + +.fad.fa-credit-card-front:after { + content: "\10f38a"; +} + +.fad.fa-cricket:after { + content: "\10f449"; +} + +.fad.fa-croissant:after { + content: "\10f7f6"; +} + +.fad.fa-crop:after { + content: "\10f125"; +} + +.fad.fa-crop-alt:after { + content: "\10f565"; +} + +.fad.fa-cross:after { + content: "\10f654"; +} + +.fad.fa-crosshairs:after { + content: "\10f05b"; +} + +.fad.fa-crow:after { + content: "\10f520"; +} + +.fad.fa-crown:after { + content: "\10f521"; +} + +.fad.fa-crutch:after { + content: "\10f7f7"; +} + +.fad.fa-crutches:after { + content: "\10f7f8"; +} + +.fad.fa-cube:after { + content: "\10f1b2"; +} + +.fad.fa-cubes:after { + content: "\10f1b3"; +} + +.fad.fa-curling:after { + content: "\10f44a"; +} + +.fad.fa-cut:after { + content: "\10f0c4"; +} + +.fad.fa-dagger:after { + content: "\10f6cb"; +} + +.fad.fa-database:after { + content: "\10f1c0"; +} + +.fad.fa-deaf:after { + content: "\10f2a4"; +} + +.fad.fa-debug:after { + content: "\10f7f9"; +} + +.fad.fa-deer:after { + content: "\10f78e"; +} + +.fad.fa-deer-rudolph:after { + content: "\10f78f"; +} + +.fad.fa-democrat:after { + content: "\10f747"; +} + +.fad.fa-desktop:after { + content: "\10f108"; +} + +.fad.fa-desktop-alt:after { + content: "\10f390"; +} + +.fad.fa-dewpoint:after { + content: "\10f748"; +} + +.fad.fa-dharmachakra:after { + content: "\10f655"; +} + +.fad.fa-diagnoses:after { + content: "\10f470"; +} + +.fad.fa-diamond:after { + content: "\10f219"; +} + +.fad.fa-dice:after { + content: "\10f522"; +} + +.fad.fa-dice-d10:after { + content: "\10f6cd"; +} + +.fad.fa-dice-d12:after { + content: "\10f6ce"; +} + +.fad.fa-dice-d20:after { + content: "\10f6cf"; +} + +.fad.fa-dice-d4:after { + content: "\10f6d0"; +} + +.fad.fa-dice-d6:after { + content: "\10f6d1"; +} + +.fad.fa-dice-d8:after { + content: "\10f6d2"; +} + +.fad.fa-dice-five:after { + content: "\10f523"; +} + +.fad.fa-dice-four:after { + content: "\10f524"; +} + +.fad.fa-dice-one:after { + content: "\10f525"; +} + +.fad.fa-dice-six:after { + content: "\10f526"; +} + +.fad.fa-dice-three:after { + content: "\10f527"; +} + +.fad.fa-dice-two:after { + content: "\10f528"; +} + +.fad.fa-digging:after { + content: "\10f85e"; +} + +.fad.fa-digital-tachograph:after { + content: "\10f566"; +} + +.fad.fa-diploma:after { + content: "\10f5ea"; +} + +.fad.fa-directions:after { + content: "\10f5eb"; +} + +.fad.fa-disc-drive:after { + content: "\10f8b5"; +} + +.fad.fa-disease:after { + content: "\10f7fa"; +} + +.fad.fa-divide:after { + content: "\10f529"; +} + +.fad.fa-dizzy:after { + content: "\10f567"; +} + +.fad.fa-dna:after { + content: "\10f471"; +} + +.fad.fa-do-not-enter:after { + content: "\10f5ec"; +} + +.fad.fa-dog:after { + content: "\10f6d3"; +} + +.fad.fa-dog-leashed:after { + content: "\10f6d4"; +} + +.fad.fa-dollar-sign:after { + content: "\10f155"; +} + +.fad.fa-dolly:after { + content: "\10f472"; +} + +.fad.fa-dolly-empty:after { + content: "\10f473"; +} + +.fad.fa-dolly-flatbed:after { + content: "\10f474"; +} + +.fad.fa-dolly-flatbed-alt:after { + content: "\10f475"; +} + +.fad.fa-dolly-flatbed-empty:after { + content: "\10f476"; +} + +.fad.fa-donate:after { + content: "\10f4b9"; +} + +.fad.fa-door-closed:after { + content: "\10f52a"; +} + +.fad.fa-door-open:after { + content: "\10f52b"; +} + +.fad.fa-dot-circle:after { + content: "\10f192"; +} + +.fad.fa-dove:after { + content: "\10f4ba"; +} + +.fad.fa-download:after { + content: "\10f019"; +} + +.fad.fa-drafting-compass:after { + content: "\10f568"; +} + +.fad.fa-dragon:after { + content: "\10f6d5"; +} + +.fad.fa-draw-circle:after { + content: "\10f5ed"; +} + +.fad.fa-draw-polygon:after { + content: "\10f5ee"; +} + +.fad.fa-draw-square:after { + content: "\10f5ef"; +} + +.fad.fa-dreidel:after { + content: "\10f792"; +} + +.fad.fa-drone:after { + content: "\10f85f"; +} + +.fad.fa-drone-alt:after { + content: "\10f860"; +} + +.fad.fa-drum:after { + content: "\10f569"; +} + +.fad.fa-drum-steelpan:after { + content: "\10f56a"; +} + +.fad.fa-drumstick:after { + content: "\10f6d6"; +} + +.fad.fa-drumstick-bite:after { + content: "\10f6d7"; +} + +.fad.fa-dryer:after { + content: "\10f861"; +} + +.fad.fa-dryer-alt:after { + content: "\10f862"; +} + +.fad.fa-duck:after { + content: "\10f6d8"; +} + +.fad.fa-dumbbell:after { + content: "\10f44b"; +} + +.fad.fa-dumpster:after { + content: "\10f793"; +} + +.fad.fa-dumpster-fire:after { + content: "\10f794"; +} + +.fad.fa-dungeon:after { + content: "\10f6d9"; +} + +.fad.fa-ear:after { + content: "\10f5f0"; +} + +.fad.fa-ear-muffs:after { + content: "\10f795"; +} + +.fad.fa-eclipse:after { + content: "\10f749"; +} + +.fad.fa-eclipse-alt:after { + content: "\10f74a"; +} + +.fad.fa-edit:after { + content: "\10f044"; +} + +.fad.fa-egg:after { + content: "\10f7fb"; +} + +.fad.fa-egg-fried:after { + content: "\10f7fc"; +} + +.fad.fa-eject:after { + content: "\10f052"; +} + +.fad.fa-elephant:after { + content: "\10f6da"; +} + +.fad.fa-ellipsis-h:after { + content: "\10f141"; +} + +.fad.fa-ellipsis-h-alt:after { + content: "\10f39b"; +} + +.fad.fa-ellipsis-v:after { + content: "\10f142"; +} + +.fad.fa-ellipsis-v-alt:after { + content: "\10f39c"; +} + +.fad.fa-empty-set:after { + content: "\10f656"; +} + +.fad.fa-engine-warning:after { + content: "\10f5f2"; +} + +.fad.fa-envelope:after { + content: "\10f0e0"; +} + +.fad.fa-envelope-open:after { + content: "\10f2b6"; +} + +.fad.fa-envelope-open-dollar:after { + content: "\10f657"; +} + +.fad.fa-envelope-open-text:after { + content: "\10f658"; +} + +.fad.fa-envelope-square:after { + content: "\10f199"; +} + +.fad.fa-equals:after { + content: "\10f52c"; +} + +.fad.fa-eraser:after { + content: "\10f12d"; +} + +.fad.fa-ethernet:after { + content: "\10f796"; +} + +.fad.fa-euro-sign:after { + content: "\10f153"; +} + +.fad.fa-exchange:after { + content: "\10f0ec"; +} + +.fad.fa-exchange-alt:after { + content: "\10f362"; +} + +.fad.fa-exclamation:after { + content: "\10f12a"; +} + +.fad.fa-exclamation-circle:after { + content: "\10f06a"; +} + +.fad.fa-exclamation-square:after { + content: "\10f321"; +} + +.fad.fa-exclamation-triangle:after { + content: "\10f071"; +} + +.fad.fa-expand:after { + content: "\10f065"; +} + +.fad.fa-expand-alt:after { + content: "\10f424"; +} + +.fad.fa-expand-arrows:after { + content: "\10f31d"; +} + +.fad.fa-expand-arrows-alt:after { + content: "\10f31e"; +} + +.fad.fa-expand-wide:after { + content: "\10f320"; +} + +.fad.fa-external-link:after { + content: "\10f08e"; +} + +.fad.fa-external-link-alt:after { + content: "\10f35d"; +} + +.fad.fa-external-link-square:after { + content: "\10f14c"; +} + +.fad.fa-external-link-square-alt:after { + content: "\10f360"; +} + +.fad.fa-eye:after { + content: "\10f06e"; +} + +.fad.fa-eye-dropper:after { + content: "\10f1fb"; +} + +.fad.fa-eye-evil:after { + content: "\10f6db"; +} + +.fad.fa-eye-slash:after { + content: "\10f070"; +} + +.fad.fa-fan:after { + content: "\10f863"; +} + +.fad.fa-fan-table:after { + content: "\10e004"; +} + +.fad.fa-farm:after { + content: "\10f864"; +} + +.fad.fa-fast-backward:after { + content: "\10f049"; +} + +.fad.fa-fast-forward:after { + content: "\10f050"; +} + +.fad.fa-faucet:after { + content: "\10e005"; +} + +.fad.fa-faucet-drip:after { + content: "\10e006"; +} + +.fad.fa-fax:after { + content: "\10f1ac"; +} + +.fad.fa-feather:after { + content: "\10f52d"; +} + +.fad.fa-feather-alt:after { + content: "\10f56b"; +} + +.fad.fa-female:after { + content: "\10f182"; +} + +.fad.fa-field-hockey:after { + content: "\10f44c"; +} + +.fad.fa-fighter-jet:after { + content: "\10f0fb"; +} + +.fad.fa-file:after { + content: "\10f15b"; +} + +.fad.fa-file-alt:after { + content: "\10f15c"; +} + +.fad.fa-file-archive:after { + content: "\10f1c6"; +} + +.fad.fa-file-audio:after { + content: "\10f1c7"; +} + +.fad.fa-file-certificate:after { + content: "\10f5f3"; +} + +.fad.fa-file-chart-line:after { + content: "\10f659"; +} + +.fad.fa-file-chart-pie:after { + content: "\10f65a"; +} + +.fad.fa-file-check:after { + content: "\10f316"; +} + +.fad.fa-file-code:after { + content: "\10f1c9"; +} + +.fad.fa-file-contract:after { + content: "\10f56c"; +} + +.fad.fa-file-csv:after { + content: "\10f6dd"; +} + +.fad.fa-file-download:after { + content: "\10f56d"; +} + +.fad.fa-file-edit:after { + content: "\10f31c"; +} + +.fad.fa-file-excel:after { + content: "\10f1c3"; +} + +.fad.fa-file-exclamation:after { + content: "\10f31a"; +} + +.fad.fa-file-export:after { + content: "\10f56e"; +} + +.fad.fa-file-image:after { + content: "\10f1c5"; +} + +.fad.fa-file-import:after { + content: "\10f56f"; +} + +.fad.fa-file-invoice:after { + content: "\10f570"; +} + +.fad.fa-file-invoice-dollar:after { + content: "\10f571"; +} + +.fad.fa-file-medical:after { + content: "\10f477"; +} + +.fad.fa-file-medical-alt:after { + content: "\10f478"; +} + +.fad.fa-file-minus:after { + content: "\10f318"; +} + +.fad.fa-file-music:after { + content: "\10f8b6"; +} + +.fad.fa-file-pdf:after { + content: "\10f1c1"; +} + +.fad.fa-file-plus:after { + content: "\10f319"; +} + +.fad.fa-file-powerpoint:after { + content: "\10f1c4"; +} + +.fad.fa-file-prescription:after { + content: "\10f572"; +} + +.fad.fa-file-search:after { + content: "\10f865"; +} + +.fad.fa-file-signature:after { + content: "\10f573"; +} + +.fad.fa-file-spreadsheet:after { + content: "\10f65b"; +} + +.fad.fa-file-times:after { + content: "\10f317"; +} + +.fad.fa-file-upload:after { + content: "\10f574"; +} + +.fad.fa-file-user:after { + content: "\10f65c"; +} + +.fad.fa-file-video:after { + content: "\10f1c8"; +} + +.fad.fa-file-word:after { + content: "\10f1c2"; +} + +.fad.fa-files-medical:after { + content: "\10f7fd"; +} + +.fad.fa-fill:after { + content: "\10f575"; +} + +.fad.fa-fill-drip:after { + content: "\10f576"; +} + +.fad.fa-film:after { + content: "\10f008"; +} + +.fad.fa-film-alt:after { + content: "\10f3a0"; +} + +.fad.fa-film-canister:after { + content: "\10f8b7"; +} + +.fad.fa-filter:after { + content: "\10f0b0"; +} + +.fad.fa-fingerprint:after { + content: "\10f577"; +} + +.fad.fa-fire:after { + content: "\10f06d"; +} + +.fad.fa-fire-alt:after { + content: "\10f7e4"; +} + +.fad.fa-fire-extinguisher:after { + content: "\10f134"; +} + +.fad.fa-fire-smoke:after { + content: "\10f74b"; +} + +.fad.fa-fireplace:after { + content: "\10f79a"; +} + +.fad.fa-first-aid:after { + content: "\10f479"; +} + +.fad.fa-fish:after { + content: "\10f578"; +} + +.fad.fa-fish-cooked:after { + content: "\10f7fe"; +} + +.fad.fa-fist-raised:after { + content: "\10f6de"; +} + +.fad.fa-flag:after { + content: "\10f024"; +} + +.fad.fa-flag-alt:after { + content: "\10f74c"; +} + +.fad.fa-flag-checkered:after { + content: "\10f11e"; +} + +.fad.fa-flag-usa:after { + content: "\10f74d"; +} + +.fad.fa-flame:after { + content: "\10f6df"; +} + +.fad.fa-flashlight:after { + content: "\10f8b8"; +} + +.fad.fa-flask:after { + content: "\10f0c3"; +} + +.fad.fa-flask-poison:after { + content: "\10f6e0"; +} + +.fad.fa-flask-potion:after { + content: "\10f6e1"; +} + +.fad.fa-flower:after { + content: "\10f7ff"; +} + +.fad.fa-flower-daffodil:after { + content: "\10f800"; +} + +.fad.fa-flower-tulip:after { + content: "\10f801"; +} + +.fad.fa-flushed:after { + content: "\10f579"; +} + +.fad.fa-flute:after { + content: "\10f8b9"; +} + +.fad.fa-flux-capacitor:after { + content: "\10f8ba"; +} + +.fad.fa-fog:after { + content: "\10f74e"; +} + +.fad.fa-folder:after { + content: "\10f07b"; +} + +.fad.fa-folder-download:after { + content: "\10e053"; +} + +.fad.fa-folder-minus:after { + content: "\10f65d"; +} + +.fad.fa-folder-open:after { + content: "\10f07c"; +} + +.fad.fa-folder-plus:after { + content: "\10f65e"; +} + +.fad.fa-folder-times:after { + content: "\10f65f"; +} + +.fad.fa-folder-tree:after { + content: "\10f802"; +} + +.fad.fa-folder-upload:after { + content: "\10e054"; +} + +.fad.fa-folders:after { + content: "\10f660"; +} + +.fad.fa-font:after { + content: "\10f031"; +} + +.fad.fa-font-awesome-logo-full:after { + content: "\10f4e6"; +} + +.fad.fa-font-case:after { + content: "\10f866"; +} + +.fad.fa-football-ball:after { + content: "\10f44e"; +} + +.fad.fa-football-helmet:after { + content: "\10f44f"; +} + +.fad.fa-forklift:after { + content: "\10f47a"; +} + +.fad.fa-forward:after { + content: "\10f04e"; +} + +.fad.fa-fragile:after { + content: "\10f4bb"; +} + +.fad.fa-french-fries:after { + content: "\10f803"; +} + +.fad.fa-frog:after { + content: "\10f52e"; +} + +.fad.fa-frosty-head:after { + content: "\10f79b"; +} + +.fad.fa-frown:after { + content: "\10f119"; +} + +.fad.fa-frown-open:after { + content: "\10f57a"; +} + +.fad.fa-function:after { + content: "\10f661"; +} + +.fad.fa-funnel-dollar:after { + content: "\10f662"; +} + +.fad.fa-futbol:after { + content: "\10f1e3"; +} + +.fad.fa-galaxy:after { + content: "\10e008"; +} + +.fad.fa-game-board:after { + content: "\10f867"; +} + +.fad.fa-game-board-alt:after { + content: "\10f868"; +} + +.fad.fa-game-console-handheld:after { + content: "\10f8bb"; +} + +.fad.fa-gamepad:after { + content: "\10f11b"; +} + +.fad.fa-gamepad-alt:after { + content: "\10f8bc"; +} + +.fad.fa-garage:after { + content: "\10e009"; +} + +.fad.fa-garage-car:after { + content: "\10e00a"; +} + +.fad.fa-garage-open:after { + content: "\10e00b"; +} + +.fad.fa-gas-pump:after { + content: "\10f52f"; +} + +.fad.fa-gas-pump-slash:after { + content: "\10f5f4"; +} + +.fad.fa-gavel:after { + content: "\10f0e3"; +} + +.fad.fa-gem:after { + content: "\10f3a5"; +} + +.fad.fa-genderless:after { + content: "\10f22d"; +} + +.fad.fa-ghost:after { + content: "\10f6e2"; +} + +.fad.fa-gift:after { + content: "\10f06b"; +} + +.fad.fa-gift-card:after { + content: "\10f663"; +} + +.fad.fa-gifts:after { + content: "\10f79c"; +} + +.fad.fa-gingerbread-man:after { + content: "\10f79d"; +} + +.fad.fa-glass:after { + content: "\10f804"; +} + +.fad.fa-glass-champagne:after { + content: "\10f79e"; +} + +.fad.fa-glass-cheers:after { + content: "\10f79f"; +} + +.fad.fa-glass-citrus:after { + content: "\10f869"; +} + +.fad.fa-glass-martini:after { + content: "\10f000"; +} + +.fad.fa-glass-martini-alt:after { + content: "\10f57b"; +} + +.fad.fa-glass-whiskey:after { + content: "\10f7a0"; +} + +.fad.fa-glass-whiskey-rocks:after { + content: "\10f7a1"; +} + +.fad.fa-glasses:after { + content: "\10f530"; +} + +.fad.fa-glasses-alt:after { + content: "\10f5f5"; +} + +.fad.fa-globe:after { + content: "\10f0ac"; +} + +.fad.fa-globe-africa:after { + content: "\10f57c"; +} + +.fad.fa-globe-americas:after { + content: "\10f57d"; +} + +.fad.fa-globe-asia:after { + content: "\10f57e"; +} + +.fad.fa-globe-europe:after { + content: "\10f7a2"; +} + +.fad.fa-globe-snow:after { + content: "\10f7a3"; +} + +.fad.fa-globe-stand:after { + content: "\10f5f6"; +} + +.fad.fa-golf-ball:after { + content: "\10f450"; +} + +.fad.fa-golf-club:after { + content: "\10f451"; +} + +.fad.fa-gopuram:after { + content: "\10f664"; +} + +.fad.fa-graduation-cap:after { + content: "\10f19d"; +} + +.fad.fa-gramophone:after { + content: "\10f8bd"; +} + +.fad.fa-greater-than:after { + content: "\10f531"; +} + +.fad.fa-greater-than-equal:after { + content: "\10f532"; +} + +.fad.fa-grimace:after { + content: "\10f57f"; +} + +.fad.fa-grin:after { + content: "\10f580"; +} + +.fad.fa-grin-alt:after { + content: "\10f581"; +} + +.fad.fa-grin-beam:after { + content: "\10f582"; +} + +.fad.fa-grin-beam-sweat:after { + content: "\10f583"; +} + +.fad.fa-grin-hearts:after { + content: "\10f584"; +} + +.fad.fa-grin-squint:after { + content: "\10f585"; +} + +.fad.fa-grin-squint-tears:after { + content: "\10f586"; +} + +.fad.fa-grin-stars:after { + content: "\10f587"; +} + +.fad.fa-grin-tears:after { + content: "\10f588"; +} + +.fad.fa-grin-tongue:after { + content: "\10f589"; +} + +.fad.fa-grin-tongue-squint:after { + content: "\10f58a"; +} + +.fad.fa-grin-tongue-wink:after { + content: "\10f58b"; +} + +.fad.fa-grin-wink:after { + content: "\10f58c"; +} + +.fad.fa-grip-horizontal:after { + content: "\10f58d"; +} + +.fad.fa-grip-lines:after { + content: "\10f7a4"; +} + +.fad.fa-grip-lines-vertical:after { + content: "\10f7a5"; +} + +.fad.fa-grip-vertical:after { + content: "\10f58e"; +} + +.fad.fa-guitar:after { + content: "\10f7a6"; +} + +.fad.fa-guitar-electric:after { + content: "\10f8be"; +} + +.fad.fa-guitars:after { + content: "\10f8bf"; +} + +.fad.fa-h-square:after { + content: "\10f0fd"; +} + +.fad.fa-h1:after { + content: "\10f313"; +} + +.fad.fa-h2:after { + content: "\10f314"; +} + +.fad.fa-h3:after { + content: "\10f315"; +} + +.fad.fa-h4:after { + content: "\10f86a"; +} + +.fad.fa-hamburger:after { + content: "\10f805"; +} + +.fad.fa-hammer:after { + content: "\10f6e3"; +} + +.fad.fa-hammer-war:after { + content: "\10f6e4"; +} + +.fad.fa-hamsa:after { + content: "\10f665"; +} + +.fad.fa-hand-heart:after { + content: "\10f4bc"; +} + +.fad.fa-hand-holding:after { + content: "\10f4bd"; +} + +.fad.fa-hand-holding-box:after { + content: "\10f47b"; +} + +.fad.fa-hand-holding-heart:after { + content: "\10f4be"; +} + +.fad.fa-hand-holding-magic:after { + content: "\10f6e5"; +} + +.fad.fa-hand-holding-medical:after { + content: "\10e05c"; +} + +.fad.fa-hand-holding-seedling:after { + content: "\10f4bf"; +} + +.fad.fa-hand-holding-usd:after { + content: "\10f4c0"; +} + +.fad.fa-hand-holding-water:after { + content: "\10f4c1"; +} + +.fad.fa-hand-lizard:after { + content: "\10f258"; +} + +.fad.fa-hand-middle-finger:after { + content: "\10f806"; +} + +.fad.fa-hand-paper:after { + content: "\10f256"; +} + +.fad.fa-hand-peace:after { + content: "\10f25b"; +} + +.fad.fa-hand-point-down:after { + content: "\10f0a7"; +} + +.fad.fa-hand-point-left:after { + content: "\10f0a5"; +} + +.fad.fa-hand-point-right:after { + content: "\10f0a4"; +} + +.fad.fa-hand-point-up:after { + content: "\10f0a6"; +} + +.fad.fa-hand-pointer:after { + content: "\10f25a"; +} + +.fad.fa-hand-receiving:after { + content: "\10f47c"; +} + +.fad.fa-hand-rock:after { + content: "\10f255"; +} + +.fad.fa-hand-scissors:after { + content: "\10f257"; +} + +.fad.fa-hand-sparkles:after { + content: "\10e05d"; +} + +.fad.fa-hand-spock:after { + content: "\10f259"; +} + +.fad.fa-hands:after { + content: "\10f4c2"; +} + +.fad.fa-hands-heart:after { + content: "\10f4c3"; +} + +.fad.fa-hands-helping:after { + content: "\10f4c4"; +} + +.fad.fa-hands-usd:after { + content: "\10f4c5"; +} + +.fad.fa-hands-wash:after { + content: "\10e05e"; +} + +.fad.fa-handshake:after { + content: "\10f2b5"; +} + +.fad.fa-handshake-alt:after { + content: "\10f4c6"; +} + +.fad.fa-handshake-alt-slash:after { + content: "\10e05f"; +} + +.fad.fa-handshake-slash:after { + content: "\10e060"; +} + +.fad.fa-hanukiah:after { + content: "\10f6e6"; +} + +.fad.fa-hard-hat:after { + content: "\10f807"; +} + +.fad.fa-hashtag:after { + content: "\10f292"; +} + +.fad.fa-hat-chef:after { + content: "\10f86b"; +} + +.fad.fa-hat-cowboy:after { + content: "\10f8c0"; +} + +.fad.fa-hat-cowboy-side:after { + content: "\10f8c1"; +} + +.fad.fa-hat-santa:after { + content: "\10f7a7"; +} + +.fad.fa-hat-winter:after { + content: "\10f7a8"; +} + +.fad.fa-hat-witch:after { + content: "\10f6e7"; +} + +.fad.fa-hat-wizard:after { + content: "\10f6e8"; +} + +.fad.fa-hdd:after { + content: "\10f0a0"; +} + +.fad.fa-head-side:after { + content: "\10f6e9"; +} + +.fad.fa-head-side-brain:after { + content: "\10f808"; +} + +.fad.fa-head-side-cough:after { + content: "\10e061"; +} + +.fad.fa-head-side-cough-slash:after { + content: "\10e062"; +} + +.fad.fa-head-side-headphones:after { + content: "\10f8c2"; +} + +.fad.fa-head-side-mask:after { + content: "\10e063"; +} + +.fad.fa-head-side-medical:after { + content: "\10f809"; +} + +.fad.fa-head-side-virus:after { + content: "\10e064"; +} + +.fad.fa-head-vr:after { + content: "\10f6ea"; +} + +.fad.fa-heading:after { + content: "\10f1dc"; +} + +.fad.fa-headphones:after { + content: "\10f025"; +} + +.fad.fa-headphones-alt:after { + content: "\10f58f"; +} + +.fad.fa-headset:after { + content: "\10f590"; +} + +.fad.fa-heart:after { + content: "\10f004"; +} + +.fad.fa-heart-broken:after { + content: "\10f7a9"; +} + +.fad.fa-heart-circle:after { + content: "\10f4c7"; +} + +.fad.fa-heart-rate:after { + content: "\10f5f8"; +} + +.fad.fa-heart-square:after { + content: "\10f4c8"; +} + +.fad.fa-heartbeat:after { + content: "\10f21e"; +} + +.fad.fa-heat:after { + content: "\10e00c"; +} + +.fad.fa-helicopter:after { + content: "\10f533"; +} + +.fad.fa-helmet-battle:after { + content: "\10f6eb"; +} + +.fad.fa-hexagon:after { + content: "\10f312"; +} + +.fad.fa-highlighter:after { + content: "\10f591"; +} + +.fad.fa-hiking:after { + content: "\10f6ec"; +} + +.fad.fa-hippo:after { + content: "\10f6ed"; +} + +.fad.fa-history:after { + content: "\10f1da"; +} + +.fad.fa-hockey-mask:after { + content: "\10f6ee"; +} + +.fad.fa-hockey-puck:after { + content: "\10f453"; +} + +.fad.fa-hockey-sticks:after { + content: "\10f454"; +} + +.fad.fa-holly-berry:after { + content: "\10f7aa"; +} + +.fad.fa-home:after { + content: "\10f015"; +} + +.fad.fa-home-alt:after { + content: "\10f80a"; +} + +.fad.fa-home-heart:after { + content: "\10f4c9"; +} + +.fad.fa-home-lg:after { + content: "\10f80b"; +} + +.fad.fa-home-lg-alt:after { + content: "\10f80c"; +} + +.fad.fa-hood-cloak:after { + content: "\10f6ef"; +} + +.fad.fa-horizontal-rule:after { + content: "\10f86c"; +} + +.fad.fa-horse:after { + content: "\10f6f0"; +} + +.fad.fa-horse-head:after { + content: "\10f7ab"; +} + +.fad.fa-horse-saddle:after { + content: "\10f8c3"; +} + +.fad.fa-hospital:after { + content: "\10f0f8"; +} + +.fad.fa-hospital-alt:after { + content: "\10f47d"; +} + +.fad.fa-hospital-symbol:after { + content: "\10f47e"; +} + +.fad.fa-hospital-user:after { + content: "\10f80d"; +} + +.fad.fa-hospitals:after { + content: "\10f80e"; +} + +.fad.fa-hot-tub:after { + content: "\10f593"; +} + +.fad.fa-hotdog:after { + content: "\10f80f"; +} + +.fad.fa-hotel:after { + content: "\10f594"; +} + +.fad.fa-hourglass:after { + content: "\10f254"; +} + +.fad.fa-hourglass-end:after { + content: "\10f253"; +} + +.fad.fa-hourglass-half:after { + content: "\10f252"; +} + +.fad.fa-hourglass-start:after { + content: "\10f251"; +} + +.fad.fa-house:after { + content: "\10e00d"; +} + +.fad.fa-house-damage:after { + content: "\10f6f1"; +} + +.fad.fa-house-day:after { + content: "\10e00e"; +} + +.fad.fa-house-flood:after { + content: "\10f74f"; +} + +.fad.fa-house-leave:after { + content: "\10e00f"; +} + +.fad.fa-house-night:after { + content: "\10e010"; +} + +.fad.fa-house-return:after { + content: "\10e011"; +} + +.fad.fa-house-signal:after { + content: "\10e012"; +} + +.fad.fa-house-user:after { + content: "\10e065"; +} + +.fad.fa-hryvnia:after { + content: "\10f6f2"; +} + +.fad.fa-humidity:after { + content: "\10f750"; +} + +.fad.fa-hurricane:after { + content: "\10f751"; +} + +.fad.fa-i-cursor:after { + content: "\10f246"; +} + +.fad.fa-ice-cream:after { + content: "\10f810"; +} + +.fad.fa-ice-skate:after { + content: "\10f7ac"; +} + +.fad.fa-icicles:after { + content: "\10f7ad"; +} + +.fad.fa-icons:after { + content: "\10f86d"; +} + +.fad.fa-icons-alt:after { + content: "\10f86e"; +} + +.fad.fa-id-badge:after { + content: "\10f2c1"; +} + +.fad.fa-id-card:after { + content: "\10f2c2"; +} + +.fad.fa-id-card-alt:after { + content: "\10f47f"; +} + +.fad.fa-igloo:after { + content: "\10f7ae"; +} + +.fad.fa-image:after { + content: "\10f03e"; +} + +.fad.fa-image-polaroid:after { + content: "\10f8c4"; +} + +.fad.fa-images:after { + content: "\10f302"; +} + +.fad.fa-inbox:after { + content: "\10f01c"; +} + +.fad.fa-inbox-in:after { + content: "\10f310"; +} + +.fad.fa-inbox-out:after { + content: "\10f311"; +} + +.fad.fa-indent:after { + content: "\10f03c"; +} + +.fad.fa-industry:after { + content: "\10f275"; +} + +.fad.fa-industry-alt:after { + content: "\10f3b3"; +} + +.fad.fa-infinity:after { + content: "\10f534"; +} + +.fad.fa-info:after { + content: "\10f129"; +} + +.fad.fa-info-circle:after { + content: "\10f05a"; +} + +.fad.fa-info-square:after { + content: "\10f30f"; +} + +.fad.fa-inhaler:after { + content: "\10f5f9"; +} + +.fad.fa-integral:after { + content: "\10f667"; +} + +.fad.fa-intersection:after { + content: "\10f668"; +} + +.fad.fa-inventory:after { + content: "\10f480"; +} + +.fad.fa-island-tropical:after { + content: "\10f811"; +} + +.fad.fa-italic:after { + content: "\10f033"; +} + +.fad.fa-jack-o-lantern:after { + content: "\10f30e"; +} + +.fad.fa-jedi:after { + content: "\10f669"; +} + +.fad.fa-joint:after { + content: "\10f595"; +} + +.fad.fa-journal-whills:after { + content: "\10f66a"; +} + +.fad.fa-joystick:after { + content: "\10f8c5"; +} + +.fad.fa-jug:after { + content: "\10f8c6"; +} + +.fad.fa-kaaba:after { + content: "\10f66b"; +} + +.fad.fa-kazoo:after { + content: "\10f8c7"; +} + +.fad.fa-kerning:after { + content: "\10f86f"; +} + +.fad.fa-key:after { + content: "\10f084"; +} + +.fad.fa-key-skeleton:after { + content: "\10f6f3"; +} + +.fad.fa-keyboard:after { + content: "\10f11c"; +} + +.fad.fa-keynote:after { + content: "\10f66c"; +} + +.fad.fa-khanda:after { + content: "\10f66d"; +} + +.fad.fa-kidneys:after { + content: "\10f5fb"; +} + +.fad.fa-kiss:after { + content: "\10f596"; +} + +.fad.fa-kiss-beam:after { + content: "\10f597"; +} + +.fad.fa-kiss-wink-heart:after { + content: "\10f598"; +} + +.fad.fa-kite:after { + content: "\10f6f4"; +} + +.fad.fa-kiwi-bird:after { + content: "\10f535"; +} + +.fad.fa-knife-kitchen:after { + content: "\10f6f5"; +} + +.fad.fa-lambda:after { + content: "\10f66e"; +} + +.fad.fa-lamp:after { + content: "\10f4ca"; +} + +.fad.fa-lamp-desk:after { + content: "\10e014"; +} + +.fad.fa-lamp-floor:after { + content: "\10e015"; +} + +.fad.fa-landmark:after { + content: "\10f66f"; +} + +.fad.fa-landmark-alt:after { + content: "\10f752"; +} + +.fad.fa-language:after { + content: "\10f1ab"; +} + +.fad.fa-laptop:after { + content: "\10f109"; +} + +.fad.fa-laptop-code:after { + content: "\10f5fc"; +} + +.fad.fa-laptop-house:after { + content: "\10e066"; +} + +.fad.fa-laptop-medical:after { + content: "\10f812"; +} + +.fad.fa-lasso:after { + content: "\10f8c8"; +} + +.fad.fa-laugh:after { + content: "\10f599"; +} + +.fad.fa-laugh-beam:after { + content: "\10f59a"; +} + +.fad.fa-laugh-squint:after { + content: "\10f59b"; +} + +.fad.fa-laugh-wink:after { + content: "\10f59c"; +} + +.fad.fa-layer-group:after { + content: "\10f5fd"; +} + +.fad.fa-layer-minus:after { + content: "\10f5fe"; +} + +.fad.fa-layer-plus:after { + content: "\10f5ff"; +} + +.fad.fa-leaf:after { + content: "\10f06c"; +} + +.fad.fa-leaf-heart:after { + content: "\10f4cb"; +} + +.fad.fa-leaf-maple:after { + content: "\10f6f6"; +} + +.fad.fa-leaf-oak:after { + content: "\10f6f7"; +} + +.fad.fa-lemon:after { + content: "\10f094"; +} + +.fad.fa-less-than:after { + content: "\10f536"; +} + +.fad.fa-less-than-equal:after { + content: "\10f537"; +} + +.fad.fa-level-down:after { + content: "\10f149"; +} + +.fad.fa-level-down-alt:after { + content: "\10f3be"; +} + +.fad.fa-level-up:after { + content: "\10f148"; +} + +.fad.fa-level-up-alt:after { + content: "\10f3bf"; +} + +.fad.fa-life-ring:after { + content: "\10f1cd"; +} + +.fad.fa-light-ceiling:after { + content: "\10e016"; +} + +.fad.fa-light-switch:after { + content: "\10e017"; +} + +.fad.fa-light-switch-off:after { + content: "\10e018"; +} + +.fad.fa-light-switch-on:after { + content: "\10e019"; +} + +.fad.fa-lightbulb:after { + content: "\10f0eb"; +} + +.fad.fa-lightbulb-dollar:after { + content: "\10f670"; +} + +.fad.fa-lightbulb-exclamation:after { + content: "\10f671"; +} + +.fad.fa-lightbulb-on:after { + content: "\10f672"; +} + +.fad.fa-lightbulb-slash:after { + content: "\10f673"; +} + +.fad.fa-lights-holiday:after { + content: "\10f7b2"; +} + +.fad.fa-line-columns:after { + content: "\10f870"; +} + +.fad.fa-line-height:after { + content: "\10f871"; +} + +.fad.fa-link:after { + content: "\10f0c1"; +} + +.fad.fa-lips:after { + content: "\10f600"; +} + +.fad.fa-lira-sign:after { + content: "\10f195"; +} + +.fad.fa-list:after { + content: "\10f03a"; +} + +.fad.fa-list-alt:after { + content: "\10f022"; +} + +.fad.fa-list-music:after { + content: "\10f8c9"; +} + +.fad.fa-list-ol:after { + content: "\10f0cb"; +} + +.fad.fa-list-ul:after { + content: "\10f0ca"; +} + +.fad.fa-location:after { + content: "\10f601"; +} + +.fad.fa-location-arrow:after { + content: "\10f124"; +} + +.fad.fa-location-circle:after { + content: "\10f602"; +} + +.fad.fa-location-slash:after { + content: "\10f603"; +} + +.fad.fa-lock:after { + content: "\10f023"; +} + +.fad.fa-lock-alt:after { + content: "\10f30d"; +} + +.fad.fa-lock-open:after { + content: "\10f3c1"; +} + +.fad.fa-lock-open-alt:after { + content: "\10f3c2"; +} + +.fad.fa-long-arrow-alt-down:after { + content: "\10f309"; +} + +.fad.fa-long-arrow-alt-left:after { + content: "\10f30a"; +} + +.fad.fa-long-arrow-alt-right:after { + content: "\10f30b"; +} + +.fad.fa-long-arrow-alt-up:after { + content: "\10f30c"; +} + +.fad.fa-long-arrow-down:after { + content: "\10f175"; +} + +.fad.fa-long-arrow-left:after { + content: "\10f177"; +} + +.fad.fa-long-arrow-right:after { + content: "\10f178"; +} + +.fad.fa-long-arrow-up:after { + content: "\10f176"; +} + +.fad.fa-loveseat:after { + content: "\10f4cc"; +} + +.fad.fa-low-vision:after { + content: "\10f2a8"; +} + +.fad.fa-luchador:after { + content: "\10f455"; +} + +.fad.fa-luggage-cart:after { + content: "\10f59d"; +} + +.fad.fa-lungs:after { + content: "\10f604"; +} + +.fad.fa-lungs-virus:after { + content: "\10e067"; +} + +.fad.fa-mace:after { + content: "\10f6f8"; +} + +.fad.fa-magic:after { + content: "\10f0d0"; +} + +.fad.fa-magnet:after { + content: "\10f076"; +} + +.fad.fa-mail-bulk:after { + content: "\10f674"; +} + +.fad.fa-mailbox:after { + content: "\10f813"; +} + +.fad.fa-male:after { + content: "\10f183"; +} + +.fad.fa-mandolin:after { + content: "\10f6f9"; +} + +.fad.fa-map:after { + content: "\10f279"; +} + +.fad.fa-map-marked:after { + content: "\10f59f"; +} + +.fad.fa-map-marked-alt:after { + content: "\10f5a0"; +} + +.fad.fa-map-marker:after { + content: "\10f041"; +} + +.fad.fa-map-marker-alt:after { + content: "\10f3c5"; +} + +.fad.fa-map-marker-alt-slash:after { + content: "\10f605"; +} + +.fad.fa-map-marker-check:after { + content: "\10f606"; +} + +.fad.fa-map-marker-edit:after { + content: "\10f607"; +} + +.fad.fa-map-marker-exclamation:after { + content: "\10f608"; +} + +.fad.fa-map-marker-minus:after { + content: "\10f609"; +} + +.fad.fa-map-marker-plus:after { + content: "\10f60a"; +} + +.fad.fa-map-marker-question:after { + content: "\10f60b"; +} + +.fad.fa-map-marker-slash:after { + content: "\10f60c"; +} + +.fad.fa-map-marker-smile:after { + content: "\10f60d"; +} + +.fad.fa-map-marker-times:after { + content: "\10f60e"; +} + +.fad.fa-map-pin:after { + content: "\10f276"; +} + +.fad.fa-map-signs:after { + content: "\10f277"; +} + +.fad.fa-marker:after { + content: "\10f5a1"; +} + +.fad.fa-mars:after { + content: "\10f222"; +} + +.fad.fa-mars-double:after { + content: "\10f227"; +} + +.fad.fa-mars-stroke:after { + content: "\10f229"; +} + +.fad.fa-mars-stroke-h:after { + content: "\10f22b"; +} + +.fad.fa-mars-stroke-v:after { + content: "\10f22a"; +} + +.fad.fa-mask:after { + content: "\10f6fa"; +} + +.fad.fa-meat:after { + content: "\10f814"; +} + +.fad.fa-medal:after { + content: "\10f5a2"; +} + +.fad.fa-medkit:after { + content: "\10f0fa"; +} + +.fad.fa-megaphone:after { + content: "\10f675"; +} + +.fad.fa-meh:after { + content: "\10f11a"; +} + +.fad.fa-meh-blank:after { + content: "\10f5a4"; +} + +.fad.fa-meh-rolling-eyes:after { + content: "\10f5a5"; +} + +.fad.fa-memory:after { + content: "\10f538"; +} + +.fad.fa-menorah:after { + content: "\10f676"; +} + +.fad.fa-mercury:after { + content: "\10f223"; +} + +.fad.fa-meteor:after { + content: "\10f753"; +} + +.fad.fa-microchip:after { + content: "\10f2db"; +} + +.fad.fa-microphone:after { + content: "\10f130"; +} + +.fad.fa-microphone-alt:after { + content: "\10f3c9"; +} + +.fad.fa-microphone-alt-slash:after { + content: "\10f539"; +} + +.fad.fa-microphone-slash:after { + content: "\10f131"; +} + +.fad.fa-microphone-stand:after { + content: "\10f8cb"; +} + +.fad.fa-microscope:after { + content: "\10f610"; +} + +.fad.fa-microwave:after { + content: "\10e01b"; +} + +.fad.fa-mind-share:after { + content: "\10f677"; +} + +.fad.fa-minus:after { + content: "\10f068"; +} + +.fad.fa-minus-circle:after { + content: "\10f056"; +} + +.fad.fa-minus-hexagon:after { + content: "\10f307"; +} + +.fad.fa-minus-octagon:after { + content: "\10f308"; +} + +.fad.fa-minus-square:after { + content: "\10f146"; +} + +.fad.fa-mistletoe:after { + content: "\10f7b4"; +} + +.fad.fa-mitten:after { + content: "\10f7b5"; +} + +.fad.fa-mobile:after { + content: "\10f10b"; +} + +.fad.fa-mobile-alt:after { + content: "\10f3cd"; +} + +.fad.fa-mobile-android:after { + content: "\10f3ce"; +} + +.fad.fa-mobile-android-alt:after { + content: "\10f3cf"; +} + +.fad.fa-money-bill:after { + content: "\10f0d6"; +} + +.fad.fa-money-bill-alt:after { + content: "\10f3d1"; +} + +.fad.fa-money-bill-wave:after { + content: "\10f53a"; +} + +.fad.fa-money-bill-wave-alt:after { + content: "\10f53b"; +} + +.fad.fa-money-check:after { + content: "\10f53c"; +} + +.fad.fa-money-check-alt:after { + content: "\10f53d"; +} + +.fad.fa-money-check-edit:after { + content: "\10f872"; +} + +.fad.fa-money-check-edit-alt:after { + content: "\10f873"; +} + +.fad.fa-monitor-heart-rate:after { + content: "\10f611"; +} + +.fad.fa-monkey:after { + content: "\10f6fb"; +} + +.fad.fa-monument:after { + content: "\10f5a6"; +} + +.fad.fa-moon:after { + content: "\10f186"; +} + +.fad.fa-moon-cloud:after { + content: "\10f754"; +} + +.fad.fa-moon-stars:after { + content: "\10f755"; +} + +.fad.fa-mortar-pestle:after { + content: "\10f5a7"; +} + +.fad.fa-mosque:after { + content: "\10f678"; +} + +.fad.fa-motorcycle:after { + content: "\10f21c"; +} + +.fad.fa-mountain:after { + content: "\10f6fc"; +} + +.fad.fa-mountains:after { + content: "\10f6fd"; +} + +.fad.fa-mouse:after { + content: "\10f8cc"; +} + +.fad.fa-mouse-alt:after { + content: "\10f8cd"; +} + +.fad.fa-mouse-pointer:after { + content: "\10f245"; +} + +.fad.fa-mp3-player:after { + content: "\10f8ce"; +} + +.fad.fa-mug:after { + content: "\10f874"; +} + +.fad.fa-mug-hot:after { + content: "\10f7b6"; +} + +.fad.fa-mug-marshmallows:after { + content: "\10f7b7"; +} + +.fad.fa-mug-tea:after { + content: "\10f875"; +} + +.fad.fa-music:after { + content: "\10f001"; +} + +.fad.fa-music-alt:after { + content: "\10f8cf"; +} + +.fad.fa-music-alt-slash:after { + content: "\10f8d0"; +} + +.fad.fa-music-slash:after { + content: "\10f8d1"; +} + +.fad.fa-narwhal:after { + content: "\10f6fe"; +} + +.fad.fa-network-wired:after { + content: "\10f6ff"; +} + +.fad.fa-neuter:after { + content: "\10f22c"; +} + +.fad.fa-newspaper:after { + content: "\10f1ea"; +} + +.fad.fa-not-equal:after { + content: "\10f53e"; +} + +.fad.fa-notes-medical:after { + content: "\10f481"; +} + +.fad.fa-object-group:after { + content: "\10f247"; +} + +.fad.fa-object-ungroup:after { + content: "\10f248"; +} + +.fad.fa-octagon:after { + content: "\10f306"; +} + +.fad.fa-oil-can:after { + content: "\10f613"; +} + +.fad.fa-oil-temp:after { + content: "\10f614"; +} + +.fad.fa-om:after { + content: "\10f679"; +} + +.fad.fa-omega:after { + content: "\10f67a"; +} + +.fad.fa-ornament:after { + content: "\10f7b8"; +} + +.fad.fa-otter:after { + content: "\10f700"; +} + +.fad.fa-outdent:after { + content: "\10f03b"; +} + +.fad.fa-outlet:after { + content: "\10e01c"; +} + +.fad.fa-oven:after { + content: "\10e01d"; +} + +.fad.fa-overline:after { + content: "\10f876"; +} + +.fad.fa-page-break:after { + content: "\10f877"; +} + +.fad.fa-pager:after { + content: "\10f815"; +} + +.fad.fa-paint-brush:after { + content: "\10f1fc"; +} + +.fad.fa-paint-brush-alt:after { + content: "\10f5a9"; +} + +.fad.fa-paint-roller:after { + content: "\10f5aa"; +} + +.fad.fa-palette:after { + content: "\10f53f"; +} + +.fad.fa-pallet:after { + content: "\10f482"; +} + +.fad.fa-pallet-alt:after { + content: "\10f483"; +} + +.fad.fa-paper-plane:after { + content: "\10f1d8"; +} + +.fad.fa-paperclip:after { + content: "\10f0c6"; +} + +.fad.fa-parachute-box:after { + content: "\10f4cd"; +} + +.fad.fa-paragraph:after { + content: "\10f1dd"; +} + +.fad.fa-paragraph-rtl:after { + content: "\10f878"; +} + +.fad.fa-parking:after { + content: "\10f540"; +} + +.fad.fa-parking-circle:after { + content: "\10f615"; +} + +.fad.fa-parking-circle-slash:after { + content: "\10f616"; +} + +.fad.fa-parking-slash:after { + content: "\10f617"; +} + +.fad.fa-passport:after { + content: "\10f5ab"; +} + +.fad.fa-pastafarianism:after { + content: "\10f67b"; +} + +.fad.fa-paste:after { + content: "\10f0ea"; +} + +.fad.fa-pause:after { + content: "\10f04c"; +} + +.fad.fa-pause-circle:after { + content: "\10f28b"; +} + +.fad.fa-paw:after { + content: "\10f1b0"; +} + +.fad.fa-paw-alt:after { + content: "\10f701"; +} + +.fad.fa-paw-claws:after { + content: "\10f702"; +} + +.fad.fa-peace:after { + content: "\10f67c"; +} + +.fad.fa-pegasus:after { + content: "\10f703"; +} + +.fad.fa-pen:after { + content: "\10f304"; +} + +.fad.fa-pen-alt:after { + content: "\10f305"; +} + +.fad.fa-pen-fancy:after { + content: "\10f5ac"; +} + +.fad.fa-pen-nib:after { + content: "\10f5ad"; +} + +.fad.fa-pen-square:after { + content: "\10f14b"; +} + +.fad.fa-pencil:after { + content: "\10f040"; +} + +.fad.fa-pencil-alt:after { + content: "\10f303"; +} + +.fad.fa-pencil-paintbrush:after { + content: "\10f618"; +} + +.fad.fa-pencil-ruler:after { + content: "\10f5ae"; +} + +.fad.fa-pennant:after { + content: "\10f456"; +} + +.fad.fa-people-arrows:after { + content: "\10e068"; +} + +.fad.fa-people-carry:after { + content: "\10f4ce"; +} + +.fad.fa-pepper-hot:after { + content: "\10f816"; +} + +.fad.fa-percent:after { + content: "\10f295"; +} + +.fad.fa-percentage:after { + content: "\10f541"; +} + +.fad.fa-person-booth:after { + content: "\10f756"; +} + +.fad.fa-person-carry:after { + content: "\10f4cf"; +} + +.fad.fa-person-dolly:after { + content: "\10f4d0"; +} + +.fad.fa-person-dolly-empty:after { + content: "\10f4d1"; +} + +.fad.fa-person-sign:after { + content: "\10f757"; +} + +.fad.fa-phone:after { + content: "\10f095"; +} + +.fad.fa-phone-alt:after { + content: "\10f879"; +} + +.fad.fa-phone-laptop:after { + content: "\10f87a"; +} + +.fad.fa-phone-office:after { + content: "\10f67d"; +} + +.fad.fa-phone-plus:after { + content: "\10f4d2"; +} + +.fad.fa-phone-rotary:after { + content: "\10f8d3"; +} + +.fad.fa-phone-slash:after { + content: "\10f3dd"; +} + +.fad.fa-phone-square:after { + content: "\10f098"; +} + +.fad.fa-phone-square-alt:after { + content: "\10f87b"; +} + +.fad.fa-phone-volume:after { + content: "\10f2a0"; +} + +.fad.fa-photo-video:after { + content: "\10f87c"; +} + +.fad.fa-pi:after { + content: "\10f67e"; +} + +.fad.fa-piano:after { + content: "\10f8d4"; +} + +.fad.fa-piano-keyboard:after { + content: "\10f8d5"; +} + +.fad.fa-pie:after { + content: "\10f705"; +} + +.fad.fa-pig:after { + content: "\10f706"; +} + +.fad.fa-piggy-bank:after { + content: "\10f4d3"; +} + +.fad.fa-pills:after { + content: "\10f484"; +} + +.fad.fa-pizza:after { + content: "\10f817"; +} + +.fad.fa-pizza-slice:after { + content: "\10f818"; +} + +.fad.fa-place-of-worship:after { + content: "\10f67f"; +} + +.fad.fa-plane:after { + content: "\10f072"; +} + +.fad.fa-plane-alt:after { + content: "\10f3de"; +} + +.fad.fa-plane-arrival:after { + content: "\10f5af"; +} + +.fad.fa-plane-departure:after { + content: "\10f5b0"; +} + +.fad.fa-plane-slash:after { + content: "\10e069"; +} + +.fad.fa-planet-moon:after { + content: "\10e01f"; +} + +.fad.fa-planet-ringed:after { + content: "\10e020"; +} + +.fad.fa-play:after { + content: "\10f04b"; +} + +.fad.fa-play-circle:after { + content: "\10f144"; +} + +.fad.fa-plug:after { + content: "\10f1e6"; +} + +.fad.fa-plus:after { + content: "\10f067"; +} + +.fad.fa-plus-circle:after { + content: "\10f055"; +} + +.fad.fa-plus-hexagon:after { + content: "\10f300"; +} + +.fad.fa-plus-octagon:after { + content: "\10f301"; +} + +.fad.fa-plus-square:after { + content: "\10f0fe"; +} + +.fad.fa-podcast:after { + content: "\10f2ce"; +} + +.fad.fa-podium:after { + content: "\10f680"; +} + +.fad.fa-podium-star:after { + content: "\10f758"; +} + +.fad.fa-police-box:after { + content: "\10e021"; +} + +.fad.fa-poll:after { + content: "\10f681"; +} + +.fad.fa-poll-h:after { + content: "\10f682"; +} + +.fad.fa-poll-people:after { + content: "\10f759"; +} + +.fad.fa-poo:after { + content: "\10f2fe"; +} + +.fad.fa-poo-storm:after { + content: "\10f75a"; +} + +.fad.fa-poop:after { + content: "\10f619"; +} + +.fad.fa-popcorn:after { + content: "\10f819"; +} + +.fad.fa-portal-enter:after { + content: "\10e022"; +} + +.fad.fa-portal-exit:after { + content: "\10e023"; +} + +.fad.fa-portrait:after { + content: "\10f3e0"; +} + +.fad.fa-pound-sign:after { + content: "\10f154"; +} + +.fad.fa-power-off:after { + content: "\10f011"; +} + +.fad.fa-pray:after { + content: "\10f683"; +} + +.fad.fa-praying-hands:after { + content: "\10f684"; +} + +.fad.fa-prescription:after { + content: "\10f5b1"; +} + +.fad.fa-prescription-bottle:after { + content: "\10f485"; +} + +.fad.fa-prescription-bottle-alt:after { + content: "\10f486"; +} + +.fad.fa-presentation:after { + content: "\10f685"; +} + +.fad.fa-print:after { + content: "\10f02f"; +} + +.fad.fa-print-search:after { + content: "\10f81a"; +} + +.fad.fa-print-slash:after { + content: "\10f686"; +} + +.fad.fa-procedures:after { + content: "\10f487"; +} + +.fad.fa-project-diagram:after { + content: "\10f542"; +} + +.fad.fa-projector:after { + content: "\10f8d6"; +} + +.fad.fa-pump-medical:after { + content: "\10e06a"; +} + +.fad.fa-pump-soap:after { + content: "\10e06b"; +} + +.fad.fa-pumpkin:after { + content: "\10f707"; +} + +.fad.fa-puzzle-piece:after { + content: "\10f12e"; +} + +.fad.fa-qrcode:after { + content: "\10f029"; +} + +.fad.fa-question:after { + content: "\10f128"; +} + +.fad.fa-question-circle:after { + content: "\10f059"; +} + +.fad.fa-question-square:after { + content: "\10f2fd"; +} + +.fad.fa-quidditch:after { + content: "\10f458"; +} + +.fad.fa-quote-left:after { + content: "\10f10d"; +} + +.fad.fa-quote-right:after { + content: "\10f10e"; +} + +.fad.fa-quran:after { + content: "\10f687"; +} + +.fad.fa-rabbit:after { + content: "\10f708"; +} + +.fad.fa-rabbit-fast:after { + content: "\10f709"; +} + +.fad.fa-racquet:after { + content: "\10f45a"; +} + +.fad.fa-radar:after { + content: "\10e024"; +} + +.fad.fa-radiation:after { + content: "\10f7b9"; +} + +.fad.fa-radiation-alt:after { + content: "\10f7ba"; +} + +.fad.fa-radio:after { + content: "\10f8d7"; +} + +.fad.fa-radio-alt:after { + content: "\10f8d8"; +} + +.fad.fa-rainbow:after { + content: "\10f75b"; +} + +.fad.fa-raindrops:after { + content: "\10f75c"; +} + +.fad.fa-ram:after { + content: "\10f70a"; +} + +.fad.fa-ramp-loading:after { + content: "\10f4d4"; +} + +.fad.fa-random:after { + content: "\10f074"; +} + +.fad.fa-raygun:after { + content: "\10e025"; +} + +.fad.fa-receipt:after { + content: "\10f543"; +} + +.fad.fa-record-vinyl:after { + content: "\10f8d9"; +} + +.fad.fa-rectangle-landscape:after { + content: "\10f2fa"; +} + +.fad.fa-rectangle-portrait:after { + content: "\10f2fb"; +} + +.fad.fa-rectangle-wide:after { + content: "\10f2fc"; +} + +.fad.fa-recycle:after { + content: "\10f1b8"; +} + +.fad.fa-redo:after { + content: "\10f01e"; +} + +.fad.fa-redo-alt:after { + content: "\10f2f9"; +} + +.fad.fa-refrigerator:after { + content: "\10e026"; +} + +.fad.fa-registered:after { + content: "\10f25d"; +} + +.fad.fa-remove-format:after { + content: "\10f87d"; +} + +.fad.fa-repeat:after { + content: "\10f363"; +} + +.fad.fa-repeat-1:after { + content: "\10f365"; +} + +.fad.fa-repeat-1-alt:after { + content: "\10f366"; +} + +.fad.fa-repeat-alt:after { + content: "\10f364"; +} + +.fad.fa-reply:after { + content: "\10f3e5"; +} + +.fad.fa-reply-all:after { + content: "\10f122"; +} + +.fad.fa-republican:after { + content: "\10f75e"; +} + +.fad.fa-restroom:after { + content: "\10f7bd"; +} + +.fad.fa-retweet:after { + content: "\10f079"; +} + +.fad.fa-retweet-alt:after { + content: "\10f361"; +} + +.fad.fa-ribbon:after { + content: "\10f4d6"; +} + +.fad.fa-ring:after { + content: "\10f70b"; +} + +.fad.fa-rings-wedding:after { + content: "\10f81b"; +} + +.fad.fa-road:after { + content: "\10f018"; +} + +.fad.fa-robot:after { + content: "\10f544"; +} + +.fad.fa-rocket:after { + content: "\10f135"; +} + +.fad.fa-rocket-launch:after { + content: "\10e027"; +} + +.fad.fa-route:after { + content: "\10f4d7"; +} + +.fad.fa-route-highway:after { + content: "\10f61a"; +} + +.fad.fa-route-interstate:after { + content: "\10f61b"; +} + +.fad.fa-router:after { + content: "\10f8da"; +} + +.fad.fa-rss:after { + content: "\10f09e"; +} + +.fad.fa-rss-square:after { + content: "\10f143"; +} + +.fad.fa-ruble-sign:after { + content: "\10f158"; +} + +.fad.fa-ruler:after { + content: "\10f545"; +} + +.fad.fa-ruler-combined:after { + content: "\10f546"; +} + +.fad.fa-ruler-horizontal:after { + content: "\10f547"; +} + +.fad.fa-ruler-triangle:after { + content: "\10f61c"; +} + +.fad.fa-ruler-vertical:after { + content: "\10f548"; +} + +.fad.fa-running:after { + content: "\10f70c"; +} + +.fad.fa-rupee-sign:after { + content: "\10f156"; +} + +.fad.fa-rv:after { + content: "\10f7be"; +} + +.fad.fa-sack:after { + content: "\10f81c"; +} + +.fad.fa-sack-dollar:after { + content: "\10f81d"; +} + +.fad.fa-sad-cry:after { + content: "\10f5b3"; +} + +.fad.fa-sad-tear:after { + content: "\10f5b4"; +} + +.fad.fa-salad:after { + content: "\10f81e"; +} + +.fad.fa-sandwich:after { + content: "\10f81f"; +} + +.fad.fa-satellite:after { + content: "\10f7bf"; +} + +.fad.fa-satellite-dish:after { + content: "\10f7c0"; +} + +.fad.fa-sausage:after { + content: "\10f820"; +} + +.fad.fa-save:after { + content: "\10f0c7"; +} + +.fad.fa-sax-hot:after { + content: "\10f8db"; +} + +.fad.fa-saxophone:after { + content: "\10f8dc"; +} + +.fad.fa-scalpel:after { + content: "\10f61d"; +} + +.fad.fa-scalpel-path:after { + content: "\10f61e"; +} + +.fad.fa-scanner:after { + content: "\10f488"; +} + +.fad.fa-scanner-image:after { + content: "\10f8f3"; +} + +.fad.fa-scanner-keyboard:after { + content: "\10f489"; +} + +.fad.fa-scanner-touchscreen:after { + content: "\10f48a"; +} + +.fad.fa-scarecrow:after { + content: "\10f70d"; +} + +.fad.fa-scarf:after { + content: "\10f7c1"; +} + +.fad.fa-school:after { + content: "\10f549"; +} + +.fad.fa-screwdriver:after { + content: "\10f54a"; +} + +.fad.fa-scroll:after { + content: "\10f70e"; +} + +.fad.fa-scroll-old:after { + content: "\10f70f"; +} + +.fad.fa-scrubber:after { + content: "\10f2f8"; +} + +.fad.fa-scythe:after { + content: "\10f710"; +} + +.fad.fa-sd-card:after { + content: "\10f7c2"; +} + +.fad.fa-search:after { + content: "\10f002"; +} + +.fad.fa-search-dollar:after { + content: "\10f688"; +} + +.fad.fa-search-location:after { + content: "\10f689"; +} + +.fad.fa-search-minus:after { + content: "\10f010"; +} + +.fad.fa-search-plus:after { + content: "\10f00e"; +} + +.fad.fa-seedling:after { + content: "\10f4d8"; +} + +.fad.fa-send-back:after { + content: "\10f87e"; +} + +.fad.fa-send-backward:after { + content: "\10f87f"; +} + +.fad.fa-sensor:after { + content: "\10e028"; +} + +.fad.fa-sensor-alert:after { + content: "\10e029"; +} + +.fad.fa-sensor-fire:after { + content: "\10e02a"; +} + +.fad.fa-sensor-on:after { + content: "\10e02b"; +} + +.fad.fa-sensor-smoke:after { + content: "\10e02c"; +} + +.fad.fa-server:after { + content: "\10f233"; +} + +.fad.fa-shapes:after { + content: "\10f61f"; +} + +.fad.fa-share:after { + content: "\10f064"; +} + +.fad.fa-share-all:after { + content: "\10f367"; +} + +.fad.fa-share-alt:after { + content: "\10f1e0"; +} + +.fad.fa-share-alt-square:after { + content: "\10f1e1"; +} + +.fad.fa-share-square:after { + content: "\10f14d"; +} + +.fad.fa-sheep:after { + content: "\10f711"; +} + +.fad.fa-shekel-sign:after { + content: "\10f20b"; +} + +.fad.fa-shield:after { + content: "\10f132"; +} + +.fad.fa-shield-alt:after { + content: "\10f3ed"; +} + +.fad.fa-shield-check:after { + content: "\10f2f7"; +} + +.fad.fa-shield-cross:after { + content: "\10f712"; +} + +.fad.fa-shield-virus:after { + content: "\10e06c"; +} + +.fad.fa-ship:after { + content: "\10f21a"; +} + +.fad.fa-shipping-fast:after { + content: "\10f48b"; +} + +.fad.fa-shipping-timed:after { + content: "\10f48c"; +} + +.fad.fa-shish-kebab:after { + content: "\10f821"; +} + +.fad.fa-shoe-prints:after { + content: "\10f54b"; +} + +.fad.fa-shopping-bag:after { + content: "\10f290"; +} + +.fad.fa-shopping-basket:after { + content: "\10f291"; +} + +.fad.fa-shopping-cart:after { + content: "\10f07a"; +} + +.fad.fa-shovel:after { + content: "\10f713"; +} + +.fad.fa-shovel-snow:after { + content: "\10f7c3"; +} + +.fad.fa-shower:after { + content: "\10f2cc"; +} + +.fad.fa-shredder:after { + content: "\10f68a"; +} + +.fad.fa-shuttle-van:after { + content: "\10f5b6"; +} + +.fad.fa-shuttlecock:after { + content: "\10f45b"; +} + +.fad.fa-sickle:after { + content: "\10f822"; +} + +.fad.fa-sigma:after { + content: "\10f68b"; +} + +.fad.fa-sign:after { + content: "\10f4d9"; +} + +.fad.fa-sign-in:after { + content: "\10f090"; +} + +.fad.fa-sign-in-alt:after { + content: "\10f2f6"; +} + +.fad.fa-sign-language:after { + content: "\10f2a7"; +} + +.fad.fa-sign-out:after { + content: "\10f08b"; +} + +.fad.fa-sign-out-alt:after { + content: "\10f2f5"; +} + +.fad.fa-signal:after { + content: "\10f012"; +} + +.fad.fa-signal-1:after { + content: "\10f68c"; +} + +.fad.fa-signal-2:after { + content: "\10f68d"; +} + +.fad.fa-signal-3:after { + content: "\10f68e"; +} + +.fad.fa-signal-4:after { + content: "\10f68f"; +} + +.fad.fa-signal-alt:after { + content: "\10f690"; +} + +.fad.fa-signal-alt-1:after { + content: "\10f691"; +} + +.fad.fa-signal-alt-2:after { + content: "\10f692"; +} + +.fad.fa-signal-alt-3:after { + content: "\10f693"; +} + +.fad.fa-signal-alt-slash:after { + content: "\10f694"; +} + +.fad.fa-signal-slash:after { + content: "\10f695"; +} + +.fad.fa-signal-stream:after { + content: "\10f8dd"; +} + +.fad.fa-signature:after { + content: "\10f5b7"; +} + +.fad.fa-sim-card:after { + content: "\10f7c4"; +} + +.fad.fa-sink:after { + content: "\10e06d"; +} + +.fad.fa-siren:after { + content: "\10e02d"; +} + +.fad.fa-siren-on:after { + content: "\10e02e"; +} + +.fad.fa-sitemap:after { + content: "\10f0e8"; +} + +.fad.fa-skating:after { + content: "\10f7c5"; +} + +.fad.fa-skeleton:after { + content: "\10f620"; +} + +.fad.fa-ski-jump:after { + content: "\10f7c7"; +} + +.fad.fa-ski-lift:after { + content: "\10f7c8"; +} + +.fad.fa-skiing:after { + content: "\10f7c9"; +} + +.fad.fa-skiing-nordic:after { + content: "\10f7ca"; +} + +.fad.fa-skull:after { + content: "\10f54c"; +} + +.fad.fa-skull-cow:after { + content: "\10f8de"; +} + +.fad.fa-skull-crossbones:after { + content: "\10f714"; +} + +.fad.fa-slash:after { + content: "\10f715"; +} + +.fad.fa-sledding:after { + content: "\10f7cb"; +} + +.fad.fa-sleigh:after { + content: "\10f7cc"; +} + +.fad.fa-sliders-h:after { + content: "\10f1de"; +} + +.fad.fa-sliders-h-square:after { + content: "\10f3f0"; +} + +.fad.fa-sliders-v:after { + content: "\10f3f1"; +} + +.fad.fa-sliders-v-square:after { + content: "\10f3f2"; +} + +.fad.fa-smile:after { + content: "\10f118"; +} + +.fad.fa-smile-beam:after { + content: "\10f5b8"; +} + +.fad.fa-smile-plus:after { + content: "\10f5b9"; +} + +.fad.fa-smile-wink:after { + content: "\10f4da"; +} + +.fad.fa-smog:after { + content: "\10f75f"; +} + +.fad.fa-smoke:after { + content: "\10f760"; +} + +.fad.fa-smoking:after { + content: "\10f48d"; +} + +.fad.fa-smoking-ban:after { + content: "\10f54d"; +} + +.fad.fa-sms:after { + content: "\10f7cd"; +} + +.fad.fa-snake:after { + content: "\10f716"; +} + +.fad.fa-snooze:after { + content: "\10f880"; +} + +.fad.fa-snow-blowing:after { + content: "\10f761"; +} + +.fad.fa-snowboarding:after { + content: "\10f7ce"; +} + +.fad.fa-snowflake:after { + content: "\10f2dc"; +} + +.fad.fa-snowflakes:after { + content: "\10f7cf"; +} + +.fad.fa-snowman:after { + content: "\10f7d0"; +} + +.fad.fa-snowmobile:after { + content: "\10f7d1"; +} + +.fad.fa-snowplow:after { + content: "\10f7d2"; +} + +.fad.fa-soap:after { + content: "\10e06e"; +} + +.fad.fa-socks:after { + content: "\10f696"; +} + +.fad.fa-solar-panel:after { + content: "\10f5ba"; +} + +.fad.fa-solar-system:after { + content: "\10e02f"; +} + +.fad.fa-sort:after { + content: "\10f0dc"; +} + +.fad.fa-sort-alpha-down:after { + content: "\10f15d"; +} + +.fad.fa-sort-alpha-down-alt:after { + content: "\10f881"; +} + +.fad.fa-sort-alpha-up:after { + content: "\10f15e"; +} + +.fad.fa-sort-alpha-up-alt:after { + content: "\10f882"; +} + +.fad.fa-sort-alt:after { + content: "\10f883"; +} + +.fad.fa-sort-amount-down:after { + content: "\10f160"; +} + +.fad.fa-sort-amount-down-alt:after { + content: "\10f884"; +} + +.fad.fa-sort-amount-up:after { + content: "\10f161"; +} + +.fad.fa-sort-amount-up-alt:after { + content: "\10f885"; +} + +.fad.fa-sort-circle:after { + content: "\10e030"; +} + +.fad.fa-sort-circle-down:after { + content: "\10e031"; +} + +.fad.fa-sort-circle-up:after { + content: "\10e032"; +} + +.fad.fa-sort-down:after { + content: "\10f0dd"; +} + +.fad.fa-sort-numeric-down:after { + content: "\10f162"; +} + +.fad.fa-sort-numeric-down-alt:after { + content: "\10f886"; +} + +.fad.fa-sort-numeric-up:after { + content: "\10f163"; +} + +.fad.fa-sort-numeric-up-alt:after { + content: "\10f887"; +} + +.fad.fa-sort-shapes-down:after { + content: "\10f888"; +} + +.fad.fa-sort-shapes-down-alt:after { + content: "\10f889"; +} + +.fad.fa-sort-shapes-up:after { + content: "\10f88a"; +} + +.fad.fa-sort-shapes-up-alt:after { + content: "\10f88b"; +} + +.fad.fa-sort-size-down:after { + content: "\10f88c"; +} + +.fad.fa-sort-size-down-alt:after { + content: "\10f88d"; +} + +.fad.fa-sort-size-up:after { + content: "\10f88e"; +} + +.fad.fa-sort-size-up-alt:after { + content: "\10f88f"; +} + +.fad.fa-sort-up:after { + content: "\10f0de"; +} + +.fad.fa-soup:after { + content: "\10f823"; +} + +.fad.fa-spa:after { + content: "\10f5bb"; +} + +.fad.fa-space-shuttle:after { + content: "\10f197"; +} + +.fad.fa-space-station-moon:after { + content: "\10e033"; +} + +.fad.fa-space-station-moon-alt:after { + content: "\10e034"; +} + +.fad.fa-spade:after { + content: "\10f2f4"; +} + +.fad.fa-sparkles:after { + content: "\10f890"; +} + +.fad.fa-speaker:after { + content: "\10f8df"; +} + +.fad.fa-speakers:after { + content: "\10f8e0"; +} + +.fad.fa-spell-check:after { + content: "\10f891"; +} + +.fad.fa-spider:after { + content: "\10f717"; +} + +.fad.fa-spider-black-widow:after { + content: "\10f718"; +} + +.fad.fa-spider-web:after { + content: "\10f719"; +} + +.fad.fa-spinner:after { + content: "\10f110"; +} + +.fad.fa-spinner-third:after { + content: "\10f3f4"; +} + +.fad.fa-splotch:after { + content: "\10f5bc"; +} + +.fad.fa-spray-can:after { + content: "\10f5bd"; +} + +.fad.fa-sprinkler:after { + content: "\10e035"; +} + +.fad.fa-square:after { + content: "\10f0c8"; +} + +.fad.fa-square-full:after { + content: "\10f45c"; +} + +.fad.fa-square-root:after { + content: "\10f697"; +} + +.fad.fa-square-root-alt:after { + content: "\10f698"; +} + +.fad.fa-squirrel:after { + content: "\10f71a"; +} + +.fad.fa-staff:after { + content: "\10f71b"; +} + +.fad.fa-stamp:after { + content: "\10f5bf"; +} + +.fad.fa-star:after { + content: "\10f005"; +} + +.fad.fa-star-and-crescent:after { + content: "\10f699"; +} + +.fad.fa-star-christmas:after { + content: "\10f7d4"; +} + +.fad.fa-star-exclamation:after { + content: "\10f2f3"; +} + +.fad.fa-star-half:after { + content: "\10f089"; +} + +.fad.fa-star-half-alt:after { + content: "\10f5c0"; +} + +.fad.fa-star-of-david:after { + content: "\10f69a"; +} + +.fad.fa-star-of-life:after { + content: "\10f621"; +} + +.fad.fa-star-shooting:after { + content: "\10e036"; +} + +.fad.fa-starfighter:after { + content: "\10e037"; +} + +.fad.fa-starfighter-alt:after { + content: "\10e038"; +} + +.fad.fa-stars:after { + content: "\10f762"; +} + +.fad.fa-starship:after { + content: "\10e039"; +} + +.fad.fa-starship-freighter:after { + content: "\10e03a"; +} + +.fad.fa-steak:after { + content: "\10f824"; +} + +.fad.fa-steering-wheel:after { + content: "\10f622"; +} + +.fad.fa-step-backward:after { + content: "\10f048"; +} + +.fad.fa-step-forward:after { + content: "\10f051"; +} + +.fad.fa-stethoscope:after { + content: "\10f0f1"; +} + +.fad.fa-sticky-note:after { + content: "\10f249"; +} + +.fad.fa-stocking:after { + content: "\10f7d5"; +} + +.fad.fa-stomach:after { + content: "\10f623"; +} + +.fad.fa-stop:after { + content: "\10f04d"; +} + +.fad.fa-stop-circle:after { + content: "\10f28d"; +} + +.fad.fa-stopwatch:after { + content: "\10f2f2"; +} + +.fad.fa-stopwatch-20:after { + content: "\10e06f"; +} + +.fad.fa-store:after { + content: "\10f54e"; +} + +.fad.fa-store-alt:after { + content: "\10f54f"; +} + +.fad.fa-store-alt-slash:after { + content: "\10e070"; +} + +.fad.fa-store-slash:after { + content: "\10e071"; +} + +.fad.fa-stream:after { + content: "\10f550"; +} + +.fad.fa-street-view:after { + content: "\10f21d"; +} + +.fad.fa-stretcher:after { + content: "\10f825"; +} + +.fad.fa-strikethrough:after { + content: "\10f0cc"; +} + +.fad.fa-stroopwafel:after { + content: "\10f551"; +} + +.fad.fa-subscript:after { + content: "\10f12c"; +} + +.fad.fa-subway:after { + content: "\10f239"; +} + +.fad.fa-suitcase:after { + content: "\10f0f2"; +} + +.fad.fa-suitcase-rolling:after { + content: "\10f5c1"; +} + +.fad.fa-sun:after { + content: "\10f185"; +} + +.fad.fa-sun-cloud:after { + content: "\10f763"; +} + +.fad.fa-sun-dust:after { + content: "\10f764"; +} + +.fad.fa-sun-haze:after { + content: "\10f765"; +} + +.fad.fa-sunglasses:after { + content: "\10f892"; +} + +.fad.fa-sunrise:after { + content: "\10f766"; +} + +.fad.fa-sunset:after { + content: "\10f767"; +} + +.fad.fa-superscript:after { + content: "\10f12b"; +} + +.fad.fa-surprise:after { + content: "\10f5c2"; +} + +.fad.fa-swatchbook:after { + content: "\10f5c3"; +} + +.fad.fa-swimmer:after { + content: "\10f5c4"; +} + +.fad.fa-swimming-pool:after { + content: "\10f5c5"; +} + +.fad.fa-sword:after { + content: "\10f71c"; +} + +.fad.fa-sword-laser:after { + content: "\10e03b"; +} + +.fad.fa-sword-laser-alt:after { + content: "\10e03c"; +} + +.fad.fa-swords:after { + content: "\10f71d"; +} + +.fad.fa-swords-laser:after { + content: "\10e03d"; +} + +.fad.fa-synagogue:after { + content: "\10f69b"; +} + +.fad.fa-sync:after { + content: "\10f021"; +} + +.fad.fa-sync-alt:after { + content: "\10f2f1"; +} + +.fad.fa-syringe:after { + content: "\10f48e"; +} + +.fad.fa-table:after { + content: "\10f0ce"; +} + +.fad.fa-table-tennis:after { + content: "\10f45d"; +} + +.fad.fa-tablet:after { + content: "\10f10a"; +} + +.fad.fa-tablet-alt:after { + content: "\10f3fa"; +} + +.fad.fa-tablet-android:after { + content: "\10f3fb"; +} + +.fad.fa-tablet-android-alt:after { + content: "\10f3fc"; +} + +.fad.fa-tablet-rugged:after { + content: "\10f48f"; +} + +.fad.fa-tablets:after { + content: "\10f490"; +} + +.fad.fa-tachometer:after { + content: "\10f0e4"; +} + +.fad.fa-tachometer-alt:after { + content: "\10f3fd"; +} + +.fad.fa-tachometer-alt-average:after { + content: "\10f624"; +} + +.fad.fa-tachometer-alt-fast:after { + content: "\10f625"; +} + +.fad.fa-tachometer-alt-fastest:after { + content: "\10f626"; +} + +.fad.fa-tachometer-alt-slow:after { + content: "\10f627"; +} + +.fad.fa-tachometer-alt-slowest:after { + content: "\10f628"; +} + +.fad.fa-tachometer-average:after { + content: "\10f629"; +} + +.fad.fa-tachometer-fast:after { + content: "\10f62a"; +} + +.fad.fa-tachometer-fastest:after { + content: "\10f62b"; +} + +.fad.fa-tachometer-slow:after { + content: "\10f62c"; +} + +.fad.fa-tachometer-slowest:after { + content: "\10f62d"; +} + +.fad.fa-taco:after { + content: "\10f826"; +} + +.fad.fa-tag:after { + content: "\10f02b"; +} + +.fad.fa-tags:after { + content: "\10f02c"; +} + +.fad.fa-tally:after { + content: "\10f69c"; +} + +.fad.fa-tanakh:after { + content: "\10f827"; +} + +.fad.fa-tape:after { + content: "\10f4db"; +} + +.fad.fa-tasks:after { + content: "\10f0ae"; +} + +.fad.fa-tasks-alt:after { + content: "\10f828"; +} + +.fad.fa-taxi:after { + content: "\10f1ba"; +} + +.fad.fa-teeth:after { + content: "\10f62e"; +} + +.fad.fa-teeth-open:after { + content: "\10f62f"; +} + +.fad.fa-telescope:after { + content: "\10e03e"; +} + +.fad.fa-temperature-down:after { + content: "\10e03f"; +} + +.fad.fa-temperature-frigid:after { + content: "\10f768"; +} + +.fad.fa-temperature-high:after { + content: "\10f769"; +} + +.fad.fa-temperature-hot:after { + content: "\10f76a"; +} + +.fad.fa-temperature-low:after { + content: "\10f76b"; +} + +.fad.fa-temperature-up:after { + content: "\10e040"; +} + +.fad.fa-tenge:after { + content: "\10f7d7"; +} + +.fad.fa-tennis-ball:after { + content: "\10f45e"; +} + +.fad.fa-terminal:after { + content: "\10f120"; +} + +.fad.fa-text:after { + content: "\10f893"; +} + +.fad.fa-text-height:after { + content: "\10f034"; +} + +.fad.fa-text-size:after { + content: "\10f894"; +} + +.fad.fa-text-width:after { + content: "\10f035"; +} + +.fad.fa-th:after { + content: "\10f00a"; +} + +.fad.fa-th-large:after { + content: "\10f009"; +} + +.fad.fa-th-list:after { + content: "\10f00b"; +} + +.fad.fa-theater-masks:after { + content: "\10f630"; +} + +.fad.fa-thermometer:after { + content: "\10f491"; +} + +.fad.fa-thermometer-empty:after { + content: "\10f2cb"; +} + +.fad.fa-thermometer-full:after { + content: "\10f2c7"; +} + +.fad.fa-thermometer-half:after { + content: "\10f2c9"; +} + +.fad.fa-thermometer-quarter:after { + content: "\10f2ca"; +} + +.fad.fa-thermometer-three-quarters:after { + content: "\10f2c8"; +} + +.fad.fa-theta:after { + content: "\10f69e"; +} + +.fad.fa-thumbs-down:after { + content: "\10f165"; +} + +.fad.fa-thumbs-up:after { + content: "\10f164"; +} + +.fad.fa-thumbtack:after { + content: "\10f08d"; +} + +.fad.fa-thunderstorm:after { + content: "\10f76c"; +} + +.fad.fa-thunderstorm-moon:after { + content: "\10f76d"; +} + +.fad.fa-thunderstorm-sun:after { + content: "\10f76e"; +} + +.fad.fa-ticket:after { + content: "\10f145"; +} + +.fad.fa-ticket-alt:after { + content: "\10f3ff"; +} + +.fad.fa-tilde:after { + content: "\10f69f"; +} + +.fad.fa-times:after { + content: "\10f00d"; +} + +.fad.fa-times-circle:after { + content: "\10f057"; +} + +.fad.fa-times-hexagon:after { + content: "\10f2ee"; +} + +.fad.fa-times-octagon:after { + content: "\10f2f0"; +} + +.fad.fa-times-square:after { + content: "\10f2d3"; +} + +.fad.fa-tint:after { + content: "\10f043"; +} + +.fad.fa-tint-slash:after { + content: "\10f5c7"; +} + +.fad.fa-tire:after { + content: "\10f631"; +} + +.fad.fa-tire-flat:after { + content: "\10f632"; +} + +.fad.fa-tire-pressure-warning:after { + content: "\10f633"; +} + +.fad.fa-tire-rugged:after { + content: "\10f634"; +} + +.fad.fa-tired:after { + content: "\10f5c8"; +} + +.fad.fa-toggle-off:after { + content: "\10f204"; +} + +.fad.fa-toggle-on:after { + content: "\10f205"; +} + +.fad.fa-toilet:after { + content: "\10f7d8"; +} + +.fad.fa-toilet-paper:after { + content: "\10f71e"; +} + +.fad.fa-toilet-paper-alt:after { + content: "\10f71f"; +} + +.fad.fa-toilet-paper-slash:after { + content: "\10e072"; +} + +.fad.fa-tombstone:after { + content: "\10f720"; +} + +.fad.fa-tombstone-alt:after { + content: "\10f721"; +} + +.fad.fa-toolbox:after { + content: "\10f552"; +} + +.fad.fa-tools:after { + content: "\10f7d9"; +} + +.fad.fa-tooth:after { + content: "\10f5c9"; +} + +.fad.fa-toothbrush:after { + content: "\10f635"; +} + +.fad.fa-torah:after { + content: "\10f6a0"; +} + +.fad.fa-torii-gate:after { + content: "\10f6a1"; +} + +.fad.fa-tornado:after { + content: "\10f76f"; +} + +.fad.fa-tractor:after { + content: "\10f722"; +} + +.fad.fa-trademark:after { + content: "\10f25c"; +} + +.fad.fa-traffic-cone:after { + content: "\10f636"; +} + +.fad.fa-traffic-light:after { + content: "\10f637"; +} + +.fad.fa-traffic-light-go:after { + content: "\10f638"; +} + +.fad.fa-traffic-light-slow:after { + content: "\10f639"; +} + +.fad.fa-traffic-light-stop:after { + content: "\10f63a"; +} + +.fad.fa-trailer:after { + content: "\10e041"; +} + +.fad.fa-train:after { + content: "\10f238"; +} + +.fad.fa-tram:after { + content: "\10f7da"; +} + +.fad.fa-transgender:after { + content: "\10f224"; +} + +.fad.fa-transgender-alt:after { + content: "\10f225"; +} + +.fad.fa-transporter:after { + content: "\10e042"; +} + +.fad.fa-transporter-1:after { + content: "\10e043"; +} + +.fad.fa-transporter-2:after { + content: "\10e044"; +} + +.fad.fa-transporter-3:after { + content: "\10e045"; +} + +.fad.fa-transporter-empty:after { + content: "\10e046"; +} + +.fad.fa-trash:after { + content: "\10f1f8"; +} + +.fad.fa-trash-alt:after { + content: "\10f2ed"; +} + +.fad.fa-trash-restore:after { + content: "\10f829"; +} + +.fad.fa-trash-restore-alt:after { + content: "\10f82a"; +} + +.fad.fa-trash-undo:after { + content: "\10f895"; +} + +.fad.fa-trash-undo-alt:after { + content: "\10f896"; +} + +.fad.fa-treasure-chest:after { + content: "\10f723"; +} + +.fad.fa-tree:after { + content: "\10f1bb"; +} + +.fad.fa-tree-alt:after { + content: "\10f400"; +} + +.fad.fa-tree-christmas:after { + content: "\10f7db"; +} + +.fad.fa-tree-decorated:after { + content: "\10f7dc"; +} + +.fad.fa-tree-large:after { + content: "\10f7dd"; +} + +.fad.fa-tree-palm:after { + content: "\10f82b"; +} + +.fad.fa-trees:after { + content: "\10f724"; +} + +.fad.fa-triangle:after { + content: "\10f2ec"; +} + +.fad.fa-triangle-music:after { + content: "\10f8e2"; +} + +.fad.fa-trophy:after { + content: "\10f091"; +} + +.fad.fa-trophy-alt:after { + content: "\10f2eb"; +} + +.fad.fa-truck:after { + content: "\10f0d1"; +} + +.fad.fa-truck-container:after { + content: "\10f4dc"; +} + +.fad.fa-truck-couch:after { + content: "\10f4dd"; +} + +.fad.fa-truck-loading:after { + content: "\10f4de"; +} + +.fad.fa-truck-monster:after { + content: "\10f63b"; +} + +.fad.fa-truck-moving:after { + content: "\10f4df"; +} + +.fad.fa-truck-pickup:after { + content: "\10f63c"; +} + +.fad.fa-truck-plow:after { + content: "\10f7de"; +} + +.fad.fa-truck-ramp:after { + content: "\10f4e0"; +} + +.fad.fa-trumpet:after { + content: "\10f8e3"; +} + +.fad.fa-tshirt:after { + content: "\10f553"; +} + +.fad.fa-tty:after { + content: "\10f1e4"; +} + +.fad.fa-turkey:after { + content: "\10f725"; +} + +.fad.fa-turntable:after { + content: "\10f8e4"; +} + +.fad.fa-turtle:after { + content: "\10f726"; +} + +.fad.fa-tv:after { + content: "\10f26c"; +} + +.fad.fa-tv-alt:after { + content: "\10f8e5"; +} + +.fad.fa-tv-music:after { + content: "\10f8e6"; +} + +.fad.fa-tv-retro:after { + content: "\10f401"; +} + +.fad.fa-typewriter:after { + content: "\10f8e7"; +} + +.fad.fa-ufo:after { + content: "\10e047"; +} + +.fad.fa-ufo-beam:after { + content: "\10e048"; +} + +.fad.fa-umbrella:after { + content: "\10f0e9"; +} + +.fad.fa-umbrella-beach:after { + content: "\10f5ca"; +} + +.fad.fa-underline:after { + content: "\10f0cd"; +} + +.fad.fa-undo:after { + content: "\10f0e2"; +} + +.fad.fa-undo-alt:after { + content: "\10f2ea"; +} + +.fad.fa-unicorn:after { + content: "\10f727"; +} + +.fad.fa-union:after { + content: "\10f6a2"; +} + +.fad.fa-universal-access:after { + content: "\10f29a"; +} + +.fad.fa-university:after { + content: "\10f19c"; +} + +.fad.fa-unlink:after { + content: "\10f127"; +} + +.fad.fa-unlock:after { + content: "\10f09c"; +} + +.fad.fa-unlock-alt:after { + content: "\10f13e"; +} + +.fad.fa-upload:after { + content: "\10f093"; +} + +.fad.fa-usb-drive:after { + content: "\10f8e9"; +} + +.fad.fa-usd-circle:after { + content: "\10f2e8"; +} + +.fad.fa-usd-square:after { + content: "\10f2e9"; +} + +.fad.fa-user:after { + content: "\10f007"; +} + +.fad.fa-user-alien:after { + content: "\10e04a"; +} + +.fad.fa-user-alt:after { + content: "\10f406"; +} + +.fad.fa-user-alt-slash:after { + content: "\10f4fa"; +} + +.fad.fa-user-astronaut:after { + content: "\10f4fb"; +} + +.fad.fa-user-chart:after { + content: "\10f6a3"; +} + +.fad.fa-user-check:after { + content: "\10f4fc"; +} + +.fad.fa-user-circle:after { + content: "\10f2bd"; +} + +.fad.fa-user-clock:after { + content: "\10f4fd"; +} + +.fad.fa-user-cog:after { + content: "\10f4fe"; +} + +.fad.fa-user-cowboy:after { + content: "\10f8ea"; +} + +.fad.fa-user-crown:after { + content: "\10f6a4"; +} + +.fad.fa-user-edit:after { + content: "\10f4ff"; +} + +.fad.fa-user-friends:after { + content: "\10f500"; +} + +.fad.fa-user-graduate:after { + content: "\10f501"; +} + +.fad.fa-user-hard-hat:after { + content: "\10f82c"; +} + +.fad.fa-user-headset:after { + content: "\10f82d"; +} + +.fad.fa-user-injured:after { + content: "\10f728"; +} + +.fad.fa-user-lock:after { + content: "\10f502"; +} + +.fad.fa-user-md:after { + content: "\10f0f0"; +} + +.fad.fa-user-md-chat:after { + content: "\10f82e"; +} + +.fad.fa-user-minus:after { + content: "\10f503"; +} + +.fad.fa-user-music:after { + content: "\10f8eb"; +} + +.fad.fa-user-ninja:after { + content: "\10f504"; +} + +.fad.fa-user-nurse:after { + content: "\10f82f"; +} + +.fad.fa-user-plus:after { + content: "\10f234"; +} + +.fad.fa-user-robot:after { + content: "\10e04b"; +} + +.fad.fa-user-secret:after { + content: "\10f21b"; +} + +.fad.fa-user-shield:after { + content: "\10f505"; +} + +.fad.fa-user-slash:after { + content: "\10f506"; +} + +.fad.fa-user-tag:after { + content: "\10f507"; +} + +.fad.fa-user-tie:after { + content: "\10f508"; +} + +.fad.fa-user-times:after { + content: "\10f235"; +} + +.fad.fa-user-unlock:after { + content: "\10e058"; +} + +.fad.fa-user-visor:after { + content: "\10e04c"; +} + +.fad.fa-users:after { + content: "\10f0c0"; +} + +.fad.fa-users-class:after { + content: "\10f63d"; +} + +.fad.fa-users-cog:after { + content: "\10f509"; +} + +.fad.fa-users-crown:after { + content: "\10f6a5"; +} + +.fad.fa-users-medical:after { + content: "\10f830"; +} + +.fad.fa-users-slash:after { + content: "\10e073"; +} + +.fad.fa-utensil-fork:after { + content: "\10f2e3"; +} + +.fad.fa-utensil-knife:after { + content: "\10f2e4"; +} + +.fad.fa-utensil-spoon:after { + content: "\10f2e5"; +} + +.fad.fa-utensils:after { + content: "\10f2e7"; +} + +.fad.fa-utensils-alt:after { + content: "\10f2e6"; +} + +.fad.fa-vacuum:after { + content: "\10e04d"; +} + +.fad.fa-vacuum-robot:after { + content: "\10e04e"; +} + +.fad.fa-value-absolute:after { + content: "\10f6a6"; +} + +.fad.fa-vector-square:after { + content: "\10f5cb"; +} + +.fad.fa-venus:after { + content: "\10f221"; +} + +.fad.fa-venus-double:after { + content: "\10f226"; +} + +.fad.fa-venus-mars:after { + content: "\10f228"; +} + +.fad.fa-vhs:after { + content: "\10f8ec"; +} + +.fad.fa-vial:after { + content: "\10f492"; +} + +.fad.fa-vials:after { + content: "\10f493"; +} + +.fad.fa-video:after { + content: "\10f03d"; +} + +.fad.fa-video-plus:after { + content: "\10f4e1"; +} + +.fad.fa-video-slash:after { + content: "\10f4e2"; +} + +.fad.fa-vihara:after { + content: "\10f6a7"; +} + +.fad.fa-violin:after { + content: "\10f8ed"; +} + +.fad.fa-virus:after { + content: "\10e074"; +} + +.fad.fa-virus-slash:after { + content: "\10e075"; +} + +.fad.fa-viruses:after { + content: "\10e076"; +} + +.fad.fa-voicemail:after { + content: "\10f897"; +} + +.fad.fa-volcano:after { + content: "\10f770"; +} + +.fad.fa-volleyball-ball:after { + content: "\10f45f"; +} + +.fad.fa-volume:after { + content: "\10f6a8"; +} + +.fad.fa-volume-down:after { + content: "\10f027"; +} + +.fad.fa-volume-mute:after { + content: "\10f6a9"; +} + +.fad.fa-volume-off:after { + content: "\10f026"; +} + +.fad.fa-volume-slash:after { + content: "\10f2e2"; +} + +.fad.fa-volume-up:after { + content: "\10f028"; +} + +.fad.fa-vote-nay:after { + content: "\10f771"; +} + +.fad.fa-vote-yea:after { + content: "\10f772"; +} + +.fad.fa-vr-cardboard:after { + content: "\10f729"; +} + +.fad.fa-wagon-covered:after { + content: "\10f8ee"; +} + +.fad.fa-walker:after { + content: "\10f831"; +} + +.fad.fa-walkie-talkie:after { + content: "\10f8ef"; +} + +.fad.fa-walking:after { + content: "\10f554"; +} + +.fad.fa-wallet:after { + content: "\10f555"; +} + +.fad.fa-wand:after { + content: "\10f72a"; +} + +.fad.fa-wand-magic:after { + content: "\10f72b"; +} + +.fad.fa-warehouse:after { + content: "\10f494"; +} + +.fad.fa-warehouse-alt:after { + content: "\10f495"; +} + +.fad.fa-washer:after { + content: "\10f898"; +} + +.fad.fa-watch:after { + content: "\10f2e1"; +} + +.fad.fa-watch-calculator:after { + content: "\10f8f0"; +} + +.fad.fa-watch-fitness:after { + content: "\10f63e"; +} + +.fad.fa-water:after { + content: "\10f773"; +} + +.fad.fa-water-lower:after { + content: "\10f774"; +} + +.fad.fa-water-rise:after { + content: "\10f775"; +} + +.fad.fa-wave-sine:after { + content: "\10f899"; +} + +.fad.fa-wave-square:after { + content: "\10f83e"; +} + +.fad.fa-wave-triangle:after { + content: "\10f89a"; +} + +.fad.fa-waveform:after { + content: "\10f8f1"; +} + +.fad.fa-waveform-path:after { + content: "\10f8f2"; +} + +.fad.fa-webcam:after { + content: "\10f832"; +} + +.fad.fa-webcam-slash:after { + content: "\10f833"; +} + +.fad.fa-weight:after { + content: "\10f496"; +} + +.fad.fa-weight-hanging:after { + content: "\10f5cd"; +} + +.fad.fa-whale:after { + content: "\10f72c"; +} + +.fad.fa-wheat:after { + content: "\10f72d"; +} + +.fad.fa-wheelchair:after { + content: "\10f193"; +} + +.fad.fa-whistle:after { + content: "\10f460"; +} + +.fad.fa-wifi:after { + content: "\10f1eb"; +} + +.fad.fa-wifi-1:after { + content: "\10f6aa"; +} + +.fad.fa-wifi-2:after { + content: "\10f6ab"; +} + +.fad.fa-wifi-slash:after { + content: "\10f6ac"; +} + +.fad.fa-wind:after { + content: "\10f72e"; +} + +.fad.fa-wind-turbine:after { + content: "\10f89b"; +} + +.fad.fa-wind-warning:after { + content: "\10f776"; +} + +.fad.fa-window:after { + content: "\10f40e"; +} + +.fad.fa-window-alt:after { + content: "\10f40f"; +} + +.fad.fa-window-close:after { + content: "\10f410"; +} + +.fad.fa-window-frame:after { + content: "\10e04f"; +} + +.fad.fa-window-frame-open:after { + content: "\10e050"; +} + +.fad.fa-window-maximize:after { + content: "\10f2d0"; +} + +.fad.fa-window-minimize:after { + content: "\10f2d1"; +} + +.fad.fa-window-restore:after { + content: "\10f2d2"; +} + +.fad.fa-windsock:after { + content: "\10f777"; +} + +.fad.fa-wine-bottle:after { + content: "\10f72f"; +} + +.fad.fa-wine-glass:after { + content: "\10f4e3"; +} + +.fad.fa-wine-glass-alt:after { + content: "\10f5ce"; +} + +.fad.fa-won-sign:after { + content: "\10f159"; +} + +.fad.fa-wreath:after { + content: "\10f7e2"; +} + +.fad.fa-wrench:after { + content: "\10f0ad"; +} + +.fad.fa-x-ray:after { + content: "\10f497"; +} + +.fad.fa-yen-sign:after { + content: "\10f157"; +} + +.fad.fa-yin-yang:after { + content: "\10f6ad"; +} diff --git a/key4intranet.front/public/assets/css/key4.css b/key4intranet.front/public/assets/css/key4.css new file mode 100644 index 0000000..c081bd1 --- /dev/null +++ b/key4intranet.front/public/assets/css/key4.css @@ -0,0 +1,9749 @@ +@charset "UTF-8"; + +/* + ============================================================================================== + --------------------------| |-------------------------- + --------------------------| CSS / Key4events 2020 |-------------------------- + --------------------------| Thème général |-------------------------- + --------------------------| |-------------------------- + ============================================================================================== +*/ + + +/* -------------------- Global -------------------- */ + + +/* + ============================================================================================== + --------------------------| |-------------------------- + --------------------------| CSS / Key4events 2020 |-------------------------- + --------------------------| Variables et mixins |-------------------------- + --------------------------| |-------------------------- + ============================================================================================== +*/ + + +/* -------------------- Typographies -------------------- */ + + +/* -------------------- Transitions -------------------- */ + + +/* -------------------- Mixins -------------------- */ + + +/* Modifs KWW début */ + + +/* Modifs KWW fin */ + + +/* -------------------- Fonts --------------------*/ + +@font-face { + font-family: 'Arquitecta-regular'; + src: url("../fonts/arquitecta/arquitecta-regular.html") format("woff2"), url("../fonts/arquitecta/arquitecta-regular.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Arquitecta-bold'; + src: url("../fonts/arquitecta/arquitecta-bold.html") format("woff2"), url("../fonts/arquitecta/arquitecta-bold.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Arquitecta-heavy'; + src: url("../fonts/arquitecta/arquitecta-heavy.html") format("woff2"), url("../fonts/arquitecta/arquitecta-heavy.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + + +/* -------------------- SVG -------------------- */ + +svg { + fill: #000; +} + +svg use { + stroke: #000; + stroke-width: 2; + transition: all 0.3s ease; +} + +svg.blue { + fill: #3e64c1; +} + +svg.blue use { + stroke: #3e64c1; +} + +svg.indigo { + fill: #743ad2; +} + +svg.indigo use { + stroke: #743ad2; +} + +svg.purple { + fill: #9b369b; +} + +svg.purple use { + stroke: #9b369b; +} + +svg.pink { + fill: #e83e8c; +} + +svg.pink use { + stroke: #e83e8c; +} + +svg.red { + fill: #e8192c; +} + +svg.red use { + stroke: #e8192c; +} + +svg.orange { + fill: #ff6000; +} + +svg.orange use { + stroke: #ff6000; +} + +svg.yellow { + fill: #f5ba1b; +} + +svg.yellow use { + stroke: #f5ba1b; +} + +svg.green { + fill: #409c6a; +} + +svg.green use { + stroke: #409c6a; +} + +svg.teal { + fill: #0eb7a9; +} + +svg.teal use { + stroke: #0eb7a9; +} + +svg.cyan { + fill: #0088db; +} + +svg.cyan use { + stroke: #0088db; +} + +svg.cyan-light { + fill: #88cef6; +} + +svg.cyan-light use { + stroke: #88cef6; +} + +svg.skyblue { + fill: #2f85b3; +} + +svg.skyblue use { + stroke: #2f85b3; +} + +svg.skyblue-medium { + fill: #6daed4; +} + +svg.skyblue-medium use { + stroke: #6daed4; +} + +svg.skyblue-light { + fill: #cbe5f4; +} + +svg.skyblue-light use { + stroke: #cbe5f4; +} + +svg.nightblue { + fill: #264c95; +} + +svg.nightblue use { + stroke: #264c95; +} + +svg.primary-dark { + fill: #0b3c6e; +} + +svg.primary-dark use { + stroke: #0b3c6e; +} + +svg.white { + fill: #fff; +} + +svg.white use { + stroke: #fff; +} + +svg.black { + fill: #000; +} + +svg.black use { + stroke: #000; +} + +svg.gray-light { + fill: #ced4da; +} + +svg.gray-light use { + stroke: #ced4da; +} + +svg.gray { + fill: #6c757d; +} + +svg.gray use { + stroke: #6c757d; +} + +svg.gray-dark { + fill: #343a40; +} + +svg.gray-dark use { + stroke: #343a40; +} + +svg.original { + fill: #2c4698; +} + +svg.original use { + stroke: #2c4698; +} + +svg.primary { + fill: #3e64c1; +} + +svg.primary use { + stroke: #3e64c1; +} + +svg.secondary { + fill: #333; +} + +svg.secondary use { + stroke: #333; +} + +svg.success { + fill: #74be4b; +} + +svg.success use { + stroke: #74be4b; +} + +svg.info { + fill: #2ec3ea; +} + +svg.info use { + stroke: #2ec3ea; +} + +svg.warning { + fill: #ff6000; +} + +svg.warning use { + stroke: #ff6000; +} + +svg.danger { + fill: #e8192c; +} + +svg.danger use { + stroke: #e8192c; +} + +svg.skyblue { + fill: #2f85b3; +} + +svg.skyblue use { + stroke: #2f85b3; +} + +svg.white { + fill: #fff; +} + +svg.white use { + stroke: #fff; +} + +svg.light { + fill: #aaa; +} + +svg.light use { + stroke: #aaa; +} + +svg.dark { + fill: #343a40; +} + +svg.dark use { + stroke: #343a40; +} + + +/* -------------------- Icônes custom -------------------- */ + +i.icon { + display: inline-block; +} + +i.icon.icon-sm { + width: 28px; + height: 28px; + min-width: 28px; + min-height: 28px; +} + +i.icon.icon-md { + width: 36px; + height: 36px; + min-width: 36px; + min-height: 36px; +} + +i.icon.icon-lg { + width: 56px; + height: 56px; + min-width: 56px; + min-height: 56px; +} + +i.icon.icon-lg use { + stroke-width: 1.32; +} + +i.icon.icon-bg { + position: absolute; + z-index: 1; + width: auto; + height: 50vw; + overflow: hidden; + opacity: .04; + transition: all 0.3s ease; +} + +i.icon.icon-bg svg { + transform: translate(28%, 0); +} + +body.show-sidelist i.icon.icon-bg { + /* transform: translateX(50vw); */ + opacity: 0; +} + +i.icon>svg { + width: 100%; + height: 100%; +} + +@media (max-width: 767px) { + i.icon.icon-bg { + top: 0; + right: 0; + top: 163px; + } +} + +@media (min-width: 768px) { + i.icon.icon-bg { + bottom: 0; + right: 0; + width: 680px; + height: 680px; + } + i.icon.icon-bg svg { + transform: translate(7.5%, 32%); + } +} + + +/* -------------------- Titres -------------------- */ + +.line { + position: relative; + padding-bottom: 10px; +} + +.line::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + bottom: 0; + left: 0; + width: 50px; + height: 2px; + background-color: #3e64c1; +} + +.line.line-white-30::after { + background-color: rgba(255, 255, 255, 0.3); +} + +.line.line-gray-ligth::after { + background-color: #ddd; +} + +.line.line-blue::after { + background-color: #3e64c1 !important; +} + +.line.line-indigo::after { + background-color: #743ad2 !important; +} + +.line.line-purple::after { + background-color: #9b369b !important; +} + +.line.line-pink::after { + background-color: #e83e8c !important; +} + +.line.line-red::after { + background-color: #e8192c !important; +} + +.line.line-orange::after { + background-color: #ff6000 !important; +} + +.line.line-yellow::after { + background-color: #f5ba1b !important; +} + +.line.line-green::after { + background-color: #409c6a !important; +} + +.line.line-teal::after { + background-color: #0eb7a9 !important; +} + +.line.line-cyan::after { + background-color: #0088db !important; +} + +.line.line-cyan-light::after { + background-color: #88cef6 !important; +} + +.line.line-skyblue::after { + background-color: #2f85b3 !important; +} + +.line.line-skyblue-medium::after { + background-color: #6daed4 !important; +} + +.line.line-skyblue-light::after { + background-color: #cbe5f4 !important; +} + +.line.line-nightblue::after { + background-color: #264c95 !important; +} + +.line.line-primary-dark::after { + background-color: #0b3c6e !important; +} + +.line.line-white::after { + background-color: #fff !important; +} + +.line.line-black::after { + background-color: #000 !important; +} + +.line.line-gray-light::after { + background-color: #ced4da !important; +} + +.line.line-gray::after { + background-color: #6c757d !important; +} + +.line.line-gray-dark::after { + background-color: #343a40 !important; +} + +.line.line-original::after { + background-color: #2c4698 !important; +} + + +/* -------------------- Liens -------------------- */ + +a { + transition: all 0.15s ease; +} + +.no-ul { + text-decoration: none; +} + +a.link-under { + position: relative; + text-decoration: none; + padding-bottom: 2px; + background-image: linear-gradient(to bottom, transparent 0, transparent calc(100% - 1px), #3e64c1 calc(100% - 1px), #3e64c1 100%); + background-size: 0 auto; + background-position: bottom center; + background-repeat: no-repeat; + transition: all 0.3s ease; +} + +a.link-under:hover { + background-image: linear-gradient(to bottom, transparent 0, transparent calc(100% - 1px), #3e64c1 calc(100% - 1px), #3e64c1 100%); + background-size: 100% auto; +} + +a.text-white:hover, +a.text-white:focus { + color: #fff !important; +} + + +/* -------------------- Opacités -------------------- */ + +.op-0 { + opacity: .0 !important; + transition: all 0.3s ease; +} + +.op-1 { + opacity: .1 !important; + transition: all 0.3s ease; +} + +.op-2 { + opacity: .2 !important; + transition: all 0.3s ease; +} + +.op-3 { + opacity: .3 !important; + transition: all 0.3s ease; +} + +.op-4 { + opacity: .4 !important; + transition: all 0.3s ease; +} + +.op-5 { + opacity: .5 !important; + transition: all 0.3s ease; +} + +.op-6 { + opacity: .6 !important; + transition: all 0.3s ease; +} + +.op-7 { + opacity: .7 !important; + transition: all 0.3s ease; +} + +.op-8 { + opacity: .8 !important; + transition: all 0.3s ease; +} + +.op-9 { + opacity: .9 !important; + transition: all 0.3s ease; +} + +.op-10 { + opacity: 1 !important; + transition: all 0.3s ease; +} + +.op-h-0:hover { + opacity: .0 !important; +} + +.op-h-1:hover { + opacity: .1 !important; +} + +.op-h-2:hover { + opacity: .2 !important; +} + +.op-h-3:hover { + opacity: .3 !important; +} + +.op-h-4:hover { + opacity: .4 !important; +} + +.op-h-5:hover { + opacity: .5 !important; +} + +.op-h-6:hover { + opacity: .6 !important; +} + +.op-h-7:hover { + opacity: .7 !important; +} + +.op-h-8:hover { + opacity: .8 !important; +} + +.op-h-9:hover { + opacity: .9 !important; +} + +.op-h-10:hover { + opacity: 1 !important; +} + + +/* -------------------- Scrollbars custom -------------------- */ + +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-track { + background: #f1f1f1; +} + +::-webkit-scrollbar-thumb { + background: #888; +} + +::-webkit-scrollbar-thumb:hover { + background: #555; +} + +div[class*="table-responsive"]::-webkit-scrollbar, +.scrollable::-webkit-scrollbar { + height: 4px; +} + +div[class*="table-responsive"]::-webkit-scrollbar-track, +.scrollable::-webkit-scrollbar-track { + background: #f1f1f1; +} + +div[class*="table-responsive"]::-webkit-scrollbar-thumb, +.scrollable::-webkit-scrollbar-thumb { + background: #888; +} + +div[class*="table-responsive"]::-webkit-scrollbar-thumb:hover, +.scrollable::-webkit-scrollbar-thumb:hover { + background: #555; +} + +.popover .popover-body::-webkit-scrollbar { + width: 4px; + height: 4px; +} + +.popover .popover-body::-webkit-scrollbar-track { + background: #f1f1f1; +} + +.popover .popover-body::-webkit-scrollbar-thumb { + background: #999; +} + +.popover .popover-body::-webkit-scrollbar-thumb:hover { + background: #777; +} + +#scrollnav>div { + -ms-overflow-style: none; + scrollbar-width: none; +} + +#scrollnav>div::-webkit-scrollbar { + width: 0; + height: 0; +} + +body.eltsparams article .sidelist>div { + scrollbar-color: #888 #f1f1f1; + scrollbar-width: thin !important; + /* + &::-webkit-scrollbar { + width: 5px; + height: 0; + } + &::-webkit-scrollbar-track { + background: #f1f1f1; + } + &::-webkit-scrollbar-thumb { + background: #d6d6d6; + } + &::-webkit-scrollbar-thumb:hover { + background: #777; + } + */ +} + + +/* -------------------- Scrollbars custom pour Firefox -------------------- */ + +:root { + scrollbar-color: #888 #f1f1f1; + scrollbar-width: thin !important; +} + + +/* -------------------- Couleur de texte sélectionné -------------------- */ + +::selection { + color: #fff; + background-color: #3e64c1; +} + + +/* -------------------- Loaders -------------------- */ + +.loader { + display: inline-block; + position: relative; + width: 40px; + vertical-align: middle; +} + +.loader::before { + content: ''; + display: block; + padding-top: 100%; +} + +.loader:not(.loader-brand)>svg { + position: absolute; + z-index: 2; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + margin: auto; + border-radius: 50%; + transform-origin: center center; + animation: Loader-rotate 2s linear infinite; +} + +.loader:not(.loader-brand)>svg>circle { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + stroke-width: 3px; + animation: Loader-dash 1.5s ease-in-out infinite; + stroke-linecap: round; +} + +.loader:not(.loader-brand).centered { + display: block; + margin: 0 auto; +} + +.loader:not(.loader-brand).loader-sm { + width: 25px; +} + +.loader:not(.loader-brand).loader-sm>svg>circle { + stroke-width: 4px; +} + +.loader:not(.loader-brand).loader-lg { + width: 70px; +} + +.loader:not(.loader-brand).loader-lg>svg>circle { + stroke-width: 2px; +} + +.loader:not(.loader-brand).loader-full { + background: radial-gradient(rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0.8) 30%, rgba(206, 212, 218, 0.85) 100%); + /*&.loader-page { + background: $white; + animation-direction: reverse !important; + html.loaded & { + animation-play-state: inherit; + } + }*/ +} + +.loader:not(.loader-brand).loader-full>svg { + width: 160px; + height: 160px; +} + +.loader:not(.loader-brand).loader-full>svg>circle { + animation: Loader-dash 1.5s ease-in-out infinite, Loader-color 12s ease-in-out infinite, Loader-stroke 1.5s ease-in-out infinite; +} + +.loader.loader-full, +.loader.loader-brand { + display: block !important; + position: fixed !important; + z-index: 1000100 !important; + top: 0 !important; + left: 0 !important; + width: 100vw !important; + height: 0; + overflow: hidden; + animation: FullLoader-show .6s ease-out 1 normal forwards paused; +} + +.loader.loader-full.show, +.loader.loader-brand.show { + animation-play-state: running; +} + +.loader.loader-full.hide, +.loader.loader-brand.hide { + animation-name: FullLoader-hide; + animation-play-state: running; +} + +.loader.loader-brand { + display: flex !important; + justify-content: center; + align-items: center; + background-color: #fff; +} + +.loader.loader-brand>* { + margin-top: -60px !important; +} + +.loader.loader-brand .content .progress { + height: 3px; + margin: 20px 40px 0 40px; +} + +.loader.loader-brand .content .progress .progress-bar { + width: 100%; + background: linear-gradient(to right, #9b369b, #f5ba1b, #409c6a, #e8192c, #264c95, #0088db, #ff6000, #0eb7a9, #9b369b, #f5ba1b) top left repeat-x; + background-size: 2000px 100%; + animation: Loadbar-bg 6s linear infinite; +} + + +/* -------------------- Animations -------------------- */ + +@media screen and (orientation: portrait) { + @keyframes kenburns-top { + 0% { + background-size: auto 100%; + } + 100% { + background-size: auto 125%; + } + } +} + +@media screen and (orientation: landscape) { + @keyframes kenburns-top { + 0% { + background-size: 100% auto; + } + 100% { + background-size: 125% auto; + } + } +} + +@keyframes slide-in-elliptic-top-fwd { + 0% { + transform: translateY(-600px) rotateX(-30deg) scale(0); + transform-origin: 50% 100%; + opacity: 0; + } + 100% { + transform: translateY(0) rotateX(0) scale(1); + transform-origin: 50% 1400px; + opacity: 1; + } +} + +@keyframes shake-horizontal { + 0%, + 100% { + transform: translateX(0); + } + 10%, + 30%, + 50%, + 70% { + transform: translateX(-10px); + } + 20%, + 40%, + 60% { + transform: translateX(10px); + } + 80% { + transform: translateX(8px); + } + 90% { + transform: translateX(-8px); + } +} + +@keyframes fade-in { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes zoom-in { + 0% { + transform: scale(0); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +@keyframes Showinfo-top { + 0% { + opacity: 0; + top: -100px; + max-height: 0; + } + 100% { + opacity: 1; + top: 0; + max-height: 200px; + } +} + +@keyframes Hideinfo-top { + 0% { + opacity: 1; + top: 0; + max-height: 200px; + } + 100% { + opacity: 0; + top: -100px; + max-height: 0; + } +} + +@keyframes Showinfo-bottom { + 0% { + opacity: 0; + top: 100px; + max-height: 0; + } + 100% { + opacity: 1; + top: 0; + max-height: 200px; + } +} + +@keyframes Hideinfo-bottom { + 0% { + opacity: 1; + top: 0; + max-height: 200px; + } + 100% { + opacity: 0; + top: 100px; + max-height: 0; + } +} + +@keyframes FullLoader-show { + 0% { + height: 0; + } + 1% { + height: 100vh; + opacity: 0; + } + 100% { + height: 100vh; + opacity: 1; + } +} + +@keyframes FullLoader-hide { + 0% { + height: 100vh; + opacity: 1; + } + 99% { + height: 100vh; + } + 100% { + height: 0; + opacity: 0; + } +} + +@keyframes Loader-rotate { + 100% { + transform: rotate(360deg); + } +} + +@keyframes Loader-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; + } + 100% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; + } +} + +@keyframes Loader-stroke { + 0% { + stroke-width: 1px; + } + 30% { + stroke-width: 3px; + } + 100% { + stroke-width: 1px; + } +} + +@keyframes Loader-color { + 0% { + stroke: #9b369b; + } + 12% { + stroke: #f5ba1b; + } + 24% { + stroke: #409c6a; + } + 36% { + stroke: #e8192c; + } + 44% { + stroke: #264c95; + } + 54% { + stroke: #0088db; + } + 72% { + stroke: #ff6000; + } + 86% { + stroke: #0eb7a9; + } + 100% { + stroke: #9b369b; + } +} + +@keyframes Loadbar-bg { + 0% { + background-position: 100% 0; + } + 100% { + background-position: 0 0; + } +} + + +/* -------------------- Layout -------------------- */ + + +/* General */ + + +/* -------------------- Layout -------------------- */ + +html, +body { + position: relative; + width: 100%; + min-height: 100vh; + font-family: Verdana, sans-serif; + font-size: 14px; +} + +@media (max-width: 1199px) { + html { + &.noscroll { + &, + & body { + overflow: hidden !important; + position: fixed; + } + body:not(.hideheader) { + header, + .subheader { + top: 0; + } + } + } + } +} + +body { + overflow-x: hidden; + @media (max-width: 991px) { + &.noscroll { + overflow: hidden !important; + position: fixed; + &:not(.hideheader) { + header, + .subheader { + top: 0; + } + } + } + } + @media (min-width: 992px) and (max-width: 1199px) { + &.noscroll { + &.pinned-menu-left { + overflow: hidden !important; + position: fixed; + &:not(.hideheader) { + header, + .subheader { + top: 0; + } + } + } + } + } +} + +body.noscroll { + overflow: hidden !important; + position: fixed; +} + +body.noscroll:not(.hideheader) header, +body.noscroll:not(.hideheader) .subheader { + top: 0; +} + +.wrapper { + display: flex; + position: unset !important; + flex-direction: column; + min-height: calc(100vh - 111px); + transition: all 0.3s ease; +} + +.wrapper.framed { + min-height: calc(100vh - 111px); + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08); +} + +@media (min-width: 768px) { + .wrapper.framed { + padding: 30px; + } +} + +@media (min-width: 992px) { + .wrapper { + min-height: calc(100vh - 78px); + } + .wrapper.framed { + min-height: calc(100vh - 78px); + padding: 60px; + } +} + + +/* -------------------- Effets de flou (menus mobile ouverts) -------------------- */ + +body.loading { + &::before, + &::after { + display: none !important; + } + header, + .subheader, + main, + #scrollnav, + footer { + filter: blur(6px); + transition: $anim-150ms; + } +} + +@media (max-width: 991px) { + body.show-menu-left::before, + body.show-menu-left::after, + body.show-params-left::before, + body.show-params-left::after, + body.show-profile::before, + body.show-profile::after { + display: none !important; + } + body.show-menu-left header, + body.show-menu-left .subheader, + body.show-menu-left main article, + body.show-menu-left #scrollnav, + body.show-menu-left footer, + body.show-params-left header, + body.show-params-left .subheader, + body.show-params-left main article, + body.show-params-left #scrollnav, + body.show-params-left footer, + body.show-profile header, + body.show-profile .subheader, + body.show-profile main article, + body.show-profile #scrollnav, + body.show-profile footer { + filter: blur(8px); + } +} + + +/* -------------------- Désactivation de la sélection sur mobile/longtap (ordonnancement des favoris) -------------------- */ + +html:not(.no-touchevents) body.sorting * { + -webkit-touch-callout: none !important; + -webkit-user-select: none !important; +} + + +/* -------------------- Visuels de fond -------------------- */ + +body.background-visuel::before, +body.background-visuel::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: -1; + background-position: top center; + background-size: cover; +} + +body.background-visuel::before { + background: linear-gradient(to bottom, #87aae0 0, #c3f8ff 55%, #fff 100%) top center no-repeat; +} + +body.background-visuel::after { + position: fixed; + opacity: .25; +} + +html:not(.noBgBlendmode) body.background-visuel::after { + mix-blend-mode: multiply; +} + +.background-visuel-A::after { + background-image: url("../images/visuel-bg_A.jpg"); + -webkit-mask-image: linear-gradient(to bottom, #000 40%, transparent 100%); + mask-image: linear-gradient(to bottom, #000 40%, transparent 100%); +} + +.background-visuel-B::after { + background-image: url("../images/visuel-bg_B.jpg"); + -webkit-mask-image: linear-gradient(to bottom, #000 40%, transparent 100%); + mask-image: linear-gradient(to bottom, #000 40%, transparent 100%); +} + +@media (max-width: 575px) { + body:not(.login) { + background-color: #f8f8f8; + } + body:not(.login).background-visuel::before, + body:not(.login).background-visuel::after { + display: none; + } +} + + +/* Headers */ + + +/* -------------------- Header -------------------- */ + +header { + display: flex; + position: fixed; + z-index: 1000; + align-content: stretch; + justify-content: space-between; + width: 100%; + height: 70px; + box-shadow: 0 1px 0 rgba(94, 94, 94, 0.06); + padding: 10px; + background-color: #fff; + transition: transform 0.3s ease; + transition-delay: .3s; +} + +body.hideheader header { + transform: translateY(-110%); + transition-delay: 0s; +} + +header>a.menu-left-trigger { + display: flex; + align-items: center; +} + +header>a.logo { + display: inline-block; + position: absolute; + left: 50%; + margin-left: -20px; + width: 43px; + height: 54px; + overflow: hidden; +} + +header>a.logo svg { + height: 49px; +} + +header>ul.user-infos { + display: flex; + align-items: center; +} + +header>ul.user-infos .profile { + order: 2; + font-family: "Arquitecta-heavy", Sans-serif; + text-transform: uppercase; +} + +header>ul.user-infos .profile a i { + color: #bbb; + transition: all 0.3s ease; +} + +body.show-profile header>ul.user-infos .profile a i:not(.icon) { + transform: rotate(180deg); +} + +header>ul.user-infos .profile a span { + max-width: calc(200px - 30px); +} + +header>ul.user-infos .profile a.d-lg-none i { + transform: scale(1.2); +} + +header>ul.user-infos .profile a.d-lg-none i use { + stroke-width: 1.75; +} + +header>ul.user-infos .cart { + position: relative; + order: 1; +} + +header>ul.user-infos .cart .badge { + position: absolute; + z-index: 1; + top: -5px; + right: -7px; +} + +header>ul.user-options { + display: flex; + align-items: center; + border-left: 1px solid #f4f4f4; +} + +header>ul>li { + display: inline-block; +} + +@media (min-width: 768px) { + .wrapper.framed header { + position: relative; + } +} + +@media (min-width: 992px) { + header { + position: relative; + height: 100px; + transform: translateY(0) !important; + } + header>a.logo { + display: flex; + position: unset; + flex: 1; + width: auto; + height: auto; + margin: 0; + align-items: center; + } + header>a.logo svg { + height: 54px; + margin: 8px 27px; + } + header>ul.user-infos .profile { + order: 1; + } + header>ul.user-infos .profile a:hover i.icon, + body.show-profile header>ul.user-infos .profile a i.icon { + background-color: #6daed4 !important; + } + header>ul .cart { + order: 2; + } +} + + +/* -------------------- Sub-header (ERP) -------------------- */ + +.subheader { + position: fixed; + z-index: 995; + width: 100%; + max-width: 100%; + padding: 86px 20px 16px 20px; + background-color: #fcfcfc; + transition: all 0.3s ease, transform 0.3s ease 0.3s; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.14); +} + +body.hideheader .subheader { + transform: translateY(-110%); + transition: all 0.3s ease, transform 0.3s ease; +} + +.subheader a.params { + position: absolute; + top: 90px; + left: 14px; +} + +body.dashboard .subheader a.params { + top: 92px; +} + +.subheader a.params i svg use { + stroke: #6c757d; +} + +.subheader h1 { + font-family: "Arquitecta-bold", Sans-serif; + font-size: 1.6rem; + line-height: 1.5rem; +} + +.subheader h1 a { + display: inline-block; + max-height: 60px; + font-family: "Arquitecta-heavy", Sans-serif; + overflow: hidden; +} + +body[class*='rub-'] .subheader h1 a { + display: inline; +} + +.subheader .date, +.subheader .lieu { + font-family: "Arquitecta-regular", Sans-serif; + letter-spacing: .02em; + text-transform: uppercase; +} + +body.erp:not(.dashboard) .subheader .date, +body.erp:not(.dashboard) .subheader .lieu { + display: none !important; +} + +.subheader .date { + color: #727272; + line-height: 1.2rem; +} + +.subheader .lieu { + padding: 3px 6px; + font-size: .87rem; + line-height: .8rem; +} + +.subheader .options-toggle { + display: block; + position: absolute; + top: 83px; + right: 17px; + transition: all 0.15s ease; +} + +.subheader #options:not(.show).collapsing+.options-toggle, +.subheader #options.show+.options-toggle { + transform: rotate(90deg); +} + +@media (min-width: 576px) { + .subheader h1 { + font-size: 1.6rem; + line-height: 1em; + } + body.dashboard .subheader h1 { + font-size: 2.2rem; + } + body.dashboard .subheader h1 a { + max-height: 86px; + } + .subheader .date { + padding: 6px 0 4px 0; + font-size: 1.15rem; + line-height: 1.1em; + } + .subheader .lieu { + font-size: 1rem; + line-height: 1em; + } + .subheader .options-toggle { + top: 83px; + } + body.dashboard .subheader .options-toggle { + top: 86px; + } +} + +@media (min-width: 768px) { + .subheader { + padding: 96px 20px 26px 14px; + } + .subheader h1 { + margin-right: 240px !important; + } + .subheader .date { + width: calc(100% - 75px) !important; + } + .subheader #options { + display: block; + } + .subheader #options ul { + position: absolute; + top: 75px; + right: 13px; + } + body.dashboard .subheader #options ul { + top: 78px; + } +} + +@media (min-width: 992px) { + .subheader { + position: relative; + padding-top: 22px; + transform: translateY(0) !important; + box-shadow: 0 1px 0 rgba(94, 94, 94, 0.06); + } + .subheader a.params { + top: 17px; + left: 42px; + } + body.dashboard .subheader a.params { + top: 22px; + } + .subheader h1, + .subheader .date, + .subheader .lieu { + margin-left: 75px !important; + } + .subheader h1 { + font-size: 1.8rem; + } + body.dashboard .subheader h1 { + font-size: 2.7rem; + } + .subheader #options ul { + top: 3px; + right: 25px; + } + body.dashboard .subheader #options ul { + top: 8px; + } +} + +@media (min-width: 1024px) { + body.dashboard .subheader h1 a { + max-height: unset; + } +} + +@media (min-width: 1200px) { + body.dashboard .subheader { + padding-top: 36px; + padding-bottom: 36px; + } + body.dashboard .subheader a.params { + top: 36px; + } + body.dashboard .subheader #options ul { + top: 22px; + } +} + + +/* Contents */ + + +/* -------------------- Contenus -------------------- */ + +.page { + display: flex; + flex: 1; + flex-direction: column; +} + +@media (min-width: 992px) { + .page { + position: relative; + } +} + +main { + display: flex; + flex: 1; + padding-top: 70px; + transition: all 0.3s ease; +} + +.subheader+main { + padding-top: 0; +} + +main>nav { + position: fixed; + z-index: 2000; + top: 0; + left: 0; + width: calc(100vw - 60px); + max-width: 320px; + height: 100vh; + background-color: #fff; + transition: all 0.3s ease; + transform: translateX(-100%); +} + +body.show-menu-left main>nav { + transform: translateX(0); +} + +main>nav a.close-menu-left { + position: fixed; + top: 20px; + right: 0; + width: 48px; + height: 48px; +} + +body.show-menu-left main>nav a.close-menu-left { + right: -48px; + opacity: 1; +} + +main>article { + position: relative; + flex: 1; + order: 2; + padding: 30px !important; + background-color: #f8f8f8; +} + +main>article>* { + position: relative; + z-index: 2; +} + +main>article .breadcrumbs a { + position: relative; + top: 3px; + color: #adb5bd; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 1.15rem; + letter-spacing: .04em; + text-decoration: none; + text-transform: uppercase; + transition: all 0.15s ease; +} + +main>article .breadcrumbs a:hover { + color: #3e64c1; +} + +main>article .breadcrumbs i { + padding: 0 2px; + color: #ccc; +} + +main>article .title { + font-size: 0; +} + +main>article .title .linkback { + display: inline-block; + width: 30px; + margin-left: -30px; + color: #b0b0b0; + font-size: .7rem; + transition: all 0.15s ease; +} + +main>article .title .linkback:hover { + color: #777; +} + +main::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 1900; + background-color: rgba(77, 82, 95, 0.7); + width: 0; + opacity: 0; + transition: width 0s ease .3s, opacity .3s ease; +} + +body.show-menu-left main::before, +body.show-params-left main::before, +body.show-profile main::before { + width: 100%; + opacity: 1; + transition: width 0s ease, opacity .3s ease; +} + +@media (min-width: 576px) { + main>article { + padding: 46px 60px !important; + } + main>article .title .linkback { + width: 42px; + margin-left: -42px; + } +} + +@media (min-width: 768px) { + .wrapper.framed main { + padding-top: 0; + } +} + +@media (min-width: 992px) { + main { + position: relative; + padding-top: 0; + } + main>nav { + position: relative; + flex: 0 0 280px; + height: auto; + order: 0; + width: 320px; + background-color: rgba(255, 255, 255, 0.7); + transform: translateX(0); + } + body.esp-cl main>nav { + flex: 0 0 240px; + } + main>article .title .linkback { + font-size: 1rem; + } + main::before { + display: none; + } +} + +@media (min-width: 1200px) { + main>nav { + flex: 0 0 280px !important; + } +} + + +/* Left menu */ + + +/* -------------------- Menu gauche (généralités) -------------------- */ + +body nav.menu-left>div { + height: auto !important; + max-height: 100vh !important; + padding-bottom: 20px; + overflow-x: hidden; + overflow-y: auto; + scrollbar-color: #6daed4 rgba(255, 255, 255, 0.25); + scrollbar-width: thin !important; +} + +body nav.menu-left>div::-webkit-scrollbar { + width: 4px; +} + +body nav.menu-left>div::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.25); +} + +body nav.menu-left>div::-webkit-scrollbar-thumb { + background: #6daed4; +} + +body nav.menu-left>div::-webkit-scrollbar-thumb:hover { + background: #2f85b3; +} + +body nav.menu-left a.logo { + max-width: calc(100% - 60px); +} + +body nav.menu-left a.logo svg { + max-width: calc(100% - 30px); + height: 48px; + margin: 38px 0 0 30px; +} + +body nav.menu-left a.params { + position: relative; + top: 20px; + -webkit-transform: translate3d(0, 0, 0); +} + +body nav.menu-left ul { + position: relative; + z-index: 2; +} + +body nav.menu-left ul li a { + display: inline-block; + position: relative; +} + +body nav.menu-left .toggler { + display: block; + position: absolute; + content: ''; + z-index: 1; + width: 100%; + height: 100%; + top: 0; + right: 0; + z-index: 2; + width: 14px; + cursor: w-resize; + background-color: rgba(62, 100, 193, 0); + transition: all 0.3s ease; +} + +body nav.menu-left .toggler:hover { + background-color: rgba(52, 58, 64, 0.05); +} + +@media (min-width: 992px) { + body nav.menu-left>div { + position: -webkit-sticky !important; + position: sticky !important; + top: 0; + max-height: unset !important; + overflow: inherit; + } +} + + +/* -------------------- Menu gauche (Espace client) -------------------- */ + +body.esp-cl nav.menu-left ul { + margin: 22px 0 0 2px; +} + +body.esp-cl nav.menu-left ul li { + transform: translateX(16px); +} + +body.esp-cl nav.menu-left ul li a { + width: calc(100% - 32px); + min-height: 62px; + margin-bottom: 8px; + padding: 1.45rem 2rem 1.45rem 5.2rem; + text-align: left; + font-size: 16px; + line-height: 1.5rem; + transition: all 0.15s ease; +} + +body.esp-cl nav.menu-left ul li a:not(.bg-gradient) { + box-shadow: none !important; +} + +body.esp-cl nav.menu-left ul li a:not(.bg-gradient)>.icon { + opacity: .7; +} + +body.esp-cl nav.menu-left ul li a:not(.bg-gradient)::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: -1; + width: 0; + background-color: #6daed4; + opacity: 0; + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08) !important; + transition: all 0.3s ease; +} + +body.esp-cl nav.menu-left ul li a:not(.bg-gradient):hover { + color: #2c4698 !important; +} + +body.esp-cl nav.menu-left ul li a:not(.bg-gradient):hover>.icon { + opacity: 1; + transform: translateY(-1px); +} + +body.esp-cl nav.menu-left ul li a:not(.bg-gradient):hover::before { + width: 100%; + opacity: .25; +} + +body.esp-cl nav.menu-left ul li a .icon { + position: absolute; + top: 12px; + left: 24px; + transition: all 0.3s ease; +} + +@media (min-width: 992px) { + body.esp-cl nav.menu-left ul { + margin-top: 0; + } + body.esp-cl nav.menu-left ul li a { + width: 100%; + max-width: 240px; + } + body.esp-cl nav.menu-left ul li a:not(.bg-gradient)::before { + background-color: #fff; + } + body.esp-cl nav.menu-left ul li a:not(.bg-gradient):hover::before { + opacity: .85; + } + body.esp-cl.reduced-menu-left nav.menu-left { + flex: 0 0 98px !important; + } + body.esp-cl.reduced-menu-left nav.menu-left ul li a { + max-width: 62px; + padding: 1.45rem; + } + body.esp-cl.reduced-menu-left nav.menu-left ul li a, + body.esp-cl.reduced-menu-left nav.menu-left ul li a:not(.bg-gradient):hover { + color: transparent !important; + } + body.esp-cl.reduced-menu-left nav.menu-left ul li a .icon { + left: 14px; + } +} + +@media (min-width: 1200px) { + body.esp-cl nav.menu-left ul li a { + max-width: 320px; + } +} + + +/* -------------------- Menu gauche (ERP) -------------------- */ + +body.erp nav.menu-left *:not(input) { + -webkit-touch-callout: none !important; + -webkit-user-select: none !important; +} + +body.erp nav.menu-left a.params { + position: absolute; + top: 45px; + right: 16px; +} + +body.erp nav.menu-left a.params i svg use { + stroke: #6c757d; +} + +body.erp nav.menu-left form.search { + -webkit-transform: translate3d(0, 0, 0); +} + +body.erp nav.menu-left form.search a { + text-decoration: none; +} + +body.erp nav.menu-left form.search .input-group input { + height: 44px; + padding-left: 1.5rem; + font-size: 1rem; + background-color: #f7f7f7; +} + +body.erp nav.menu-left form.search .input-group .icon { + position: absolute; + right: 0; + width: 36px; + height: 36px; + margin-top: 3px; +} + +body.erp nav.menu-left form.search .input-group .icon::before { + left: auto; +} + +body.erp nav.menu-left .toggle-favorites a { + font-family: "Arquitecta-heavy", Sans-serif; + font-size: .95rem; + text-transform: uppercase; + color: #333; +} + +body.erp nav.menu-left .toggle-favorites a i { + margin-top: -2px; + transform: scaleX(1); +} + +body.erp nav.menu-left .favorites { + position: absolute; + top: 200px; + width: calc(100% - 2rem); + min-width: calc(280px - 2rem); + margin-right: 14px; + opacity: 0; + transform-origin: top right; + transform: scaleX(0) skew(0, -5deg); + transition: all 0.3s ease; +} + +body.erp nav.menu-left .favorites.empty::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + content: attr(text-empty-list); + top: 10px; + width: 100%; + height: 50px; + text-align: center; + font-size: .9rem; +} + +body.erp nav.menu-left .favorites li { + display: flex; + font-size: 0; + transition: background-color 0.3s ease; +} + +body.erp nav.menu-left .favorites li:not(:last-child) { + border-bottom: 1px solid rgba(0, 0, 0, 0.06); +} + +body.erp nav.menu-left .favorites li:hover { + background-color: #f7f7f7; +} + +body.erp nav.menu-left .favorites li:hover a span { + color: inherit !important; +} + +body.erp nav.menu-left .favorites li.ui-sortable-helper, +body.erp nav.menu-left .favorites li.sorting { + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); + border: 2px dashed rgba(46, 195, 234, 0.8); + background-color: rgba(185, 235, 248, 0.8); +} + +body.erp nav.menu-left .favorites li a:not(.favicon) { + display: inline-block; + position: relative; + width: 100%; + padding: 13px 20px 13px 46px; + font-family: "Arquitecta-bold", Sans-serif; + font-size: 1rem; + line-height: 1.25em; + letter-spacing: .02em; + text-transform: uppercase; + overflow: hidden; + background-color: transparent; + transition: all 0.3s ease; +} + +body.erp nav.menu-left .favorites li a:not(.favicon).hover span { + margin-left: -40px; +} + +body.erp nav.menu-left .favorites li a:not(.favicon).hover~a.favicon { + z-index: 3; + flex: 0 0 44px; + background-color: #e8192c; +} + +body.erp nav.menu-left .favorites li a:not(.favicon) span { + display: inline-block; + position: relative; + color: #333; + transition: margin 0.3s ease !important; +} + +body.erp nav.menu-left .favorites li a:not(.favicon) span i { + position: absolute; + top: -6px; + left: -34px; + width: 24px; + text-align: center; +} + +body.erp nav.menu-left .favorites li a.favicon { + position: relative; + flex: 0 0 0; + right: 0; + transition: all 0.3s ease; + overflow: hidden; + background-color: rgba(0, 0, 0, 0); +} + +body.erp nav.menu-left .favorites li a.favicon i { + position: absolute; + top: calc(50% - 8px); + margin-left: -6px; + font-size: 1.2rem; + transition: all 0.15s ease; +} + +body.erp nav.menu-left>div { + position: relative; + overflow-x: hidden; + overflow-y: auto; + max-height: 100vh !important; +} + +body.erp nav.menu-left>div .menuhead { + position: absolute; + top: 10px; + width: 100%; + transform: translateX(100%); + transition: all 0.3s ease; + opacity: 0; +} + +body.erp nav.menu-left>div .menuhead.show { + transform: translateX(0) skew(0, 0); + opacity: 1; +} + +body.erp nav.menu-left>div .menuhead i.fa-chevron-left { + font-size: 1.8em; +} + +body.erp nav.menu-left>div .menuhead i.icon { + margin-left: 10px; +} + +body.erp nav.menu-left>div .menuhead .title { + display: block; + max-width: calc(100% - 70px); + margin-left: 30px; + color: inherit; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 22px; + letter-spacing: .03em; + text-overflow: ellipsis; + text-transform: uppercase; + white-space: nowrap; + overflow: hidden; +} + +body.erp nav.menu-left>div .menuhead .title::after { + opacity: .5; +} + +body.erp nav.menu-left .slidemenu { + overflow: hidden; + opacity: 1; + transform-origin: top left; + transform: scaleX(1); + transition: all 0.3s ease; +} + +body.erp nav.menu-left .slidemenu ul { + min-width: calc(280px - 2rem); +} + +body.erp nav.menu-left .slidemenu>ul { + display: inline-block; + position: relative; + font-size: 0; + transition: all 0.3s ease; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support) { + display: inline-block; + width: 50%; + border: 1px solid rgba(0, 0, 0, 0.06); + border-top: 0; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a { + position: relative; + padding: 20px 0; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a svg, +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a span { + position: relative; + transition: all 0.6s ease; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a .over { + position: absolute; + z-index: -1; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 50%; + transform-origin: 50% 50%; + transform: scale(0.2); + transition: all 1s ease; + opacity: 0; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a.active, +html.no-touchevents body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a:hover { + color: #fff; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a.active .over, +html.no-touchevents body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a:hover .over { + border-radius: 0; + transform: scale(5); + opacity: 1; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a.active svg, +html.no-touchevents body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a:hover svg { + transform: translateY(-3px); +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a.active svg use, +html.no-touchevents body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a:hover svg use { + stroke: #fff; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a.active span, +html.no-touchevents body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>a:hover span { + transform: translateY(3px); +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support):nth-child(n) { + border-left: 0; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support):nth-child(2n) { + border-right: 0; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support):nth-last-child(1), +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support):nth-last-child(2) { + border-bottom: 0; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support) a { + color: inherit; + font-family: "Arquitecta-bold", Sans-serif; + text-align: center; + font-size: 1rem; + letter-spacing: .02em; + text-transform: uppercase; + overflow: hidden; + transition: all 0.3s ease; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support) a i.icon { + width: 100%; + margin: 0 auto; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support) ul { + position: absolute; + top: 0; + left: 100%; + width: 100%; + padding-left: 30px; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul { + margin-top: 115px; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li { + display: flex; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li:not(:last-child) { + border-bottom: 1px solid rgba(0, 0, 0, 0.06); +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li.active i.fa-angle-right, +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li:hover i.fa-angle-right { + color: #fff !important; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon) { + position: relative; + z-index: 2; + left: -16px; + flex: 0 0 calc(100% + 16px); + padding: 10px 0 13px 0; + text-align: left; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon).hover span { + margin-left: -40px; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon).hover~a.favicon { + z-index: 3; + flex: 0 0 44px; + right: 60px; + background-color: rgba(0, 0, 0, 0.12); +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon).isfavorite~a.favicon { + background-color: #e8192c; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon).isfavorite~a.favicon i::after { + display: block; + position: relative; + content: ''; + z-index: 4; + top: -7px; + width: 24px; + height: 1px; + transform: rotate(-45deg); + background-color: #fff; + box-shadow: 0 0 0 1.5px #e8192c; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon) span { + display: inline-block; + position: relative; + left: 16px; + width: calc(100% - 42px); + line-height: 1.25rem; + transition: margin 0.3s ease; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a:not(.favicon) i.fa-angle-right { + margin-left: 24px; + line-height: .5rem; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a.favicon { + position: relative; + flex: 0 0 0; + right: 17px; + transition: all 0.3s ease; + background-color: rgba(0, 0, 0, 0); +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a.favicon i { + margin-top: 15px; + color: #fff; + font-size: 1.05rem; + transition: all 0.15s ease; +} + +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a.favicon i[class*="-star"] { + opacity: .6; +} + +html:not(.no-touchevents) body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a.favicon i[class*="-star"], +body.erp nav.menu-left .slidemenu>ul>li:not(.link-support)>ul li a.favicon:hover i[class*="-star"] { + opacity: 1; +} + +body.erp nav.menu-left.show-favorites .toggle-favorites a { + opacity: 1; + color: #2ec3ea; +} + +body.erp nav.menu-left.show-favorites .toggle-favorites a i { + opacity: 1; + color: #2ec3ea; + transform: scaleX(-1); +} + +body.erp nav.menu-left.show-favorites .favorites { + opacity: 1; + transform: scaleX(1) skew(0, 0); +} + +body.erp nav.menu-left.show-favorites .slidemenu { + opacity: 0; + transform: scaleX(0) skew(0, 5deg); +} + +body.erp nav.menu-left .link-support a { + width: calc(100% - 28px); + margin-left: 14px; + margin-right: 14px; + text-align: left; +} + +body.erp nav.menu-left .toggler { + right: 0; + cursor: pointer; +} + +body.erp nav.menu-left .toggler::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + content: '\f08d'; + padding: 5px 0 0 8px; + top: 83px; + right: 5px; + width: 25px; + height: 25px; + color: #6c757d; + font-family: 'Font Awesome 5 Pro'; + font-size: .85rem; + font-weight: 400; + cursor: pointer; + border-radius: 50%; + background-color: rgba(108, 117, 125, 0.08); + transform: rotate(45deg); + transition: all 0.15s ease; +} + +body.erp nav.menu-left .toggler:hover::after { + color: #fff; +} + +@media (min-width: 992px) { + body.erp:not(.reduced-menu-left) nav.menu-left .toggler:hover::after { + background-color: rgba(108, 117, 125, 0.5); + } + body.erp.pinned-menu-left nav.menu-left .toggler::after { + color: #fff; + font-weight: 900; + background-color: #6c757d; + } + body.erp:not(.pinned-menu-left) nav.menu-left { + position: absolute; + width: 280px; + background-color: #e1e8f5; + height: 100%; + } + body.erp:not(.pinned-menu-left) nav.menu-left>div { + height: 100% !important; + } + body.erp:not(.pinned-menu-left).reduced-menu-left nav.menu-left { + width: 18px; + background-color: #6daed4; + } + body.erp:not(.pinned-menu-left).reduced-menu-left nav.menu-left>div { + width: 14px; + min-width: auto !important; + overflow-y: hidden; + } + body.erp:not(.pinned-menu-left).reduced-menu-left nav.menu-left>div.menu-ctn>*:not(.toggler) { + opacity: 0; + } + body.erp:not(.pinned-menu-left).reduced-menu-left nav.menu-left .toggler::after { + padding: 6px 0 0 17px; + color: #fff; + content: '\f7a5'; + transform: rotate(0); + font-size: 1rem; + background-color: rgba(108, 117, 125, 0); + } + body.erp nav.menu-left>div { + width: 280px; + transition: width 0.3s ease; + } + body.erp nav.menu-left .menu-ctn { + min-width: 280px; + } + body.erp nav.menu-left form.search .input-group input { + background-color: #fff !important; + } + body.erp nav.menu-left .favorites { + top: 115px !important; + } + body.erp nav.menu-left .favorites li.ui-sortable-helper, + body.erp nav.menu-left .favorites li.sorting, + body.erp nav.menu-left .favorites li:hover { + background-color: #fff !important; + } +} + + +/* -------------------- Menu gauche (paramètres) -------------------- */ + +nav.menu-params { + position: fixed; + top: 0; + left: 0; + z-index: 2100; + width: calc(100vw - 60px); + max-width: 320px; + height: 100vh; + padding: 0 !important; + background-color: rgba(40, 68, 85, 0.97); + transition: all 0.3s ease; + transform: translateX(-100%); +} + +body.show-params-left nav.menu-params { + transform: translateX(0); +} + +nav.menu-params>div { + top: 0; + height: auto !important; + padding-left: 3rem !important; + padding-right: 3rem !important; + max-height: 100vh; + overflow: auto; +} + +nav.menu-params>div::-webkit-scrollbar { + width: 4px; +} + +nav.menu-params>div::-webkit-scrollbar-track { + background: rgba(40, 68, 85, 0.97); +} + +nav.menu-params>div::-webkit-scrollbar-thumb { + background: #6daed4; +} + +nav.menu-params>div::-webkit-scrollbar-thumb:hover { + background: #2f85b3; +} + +nav.menu-params a.close-params-left { + position: fixed; + top: 14px; + right: 14px; + width: 48px; + height: 48px; +} + +body.show-menu-left nav.menu-params a.close-params-left { + right: -48px; + opacity: 1; +} + +nav.menu-params a.params { + position: relative; + left: -4px; +} + +nav.menu-params a.params i.fa-chevron-left { + position: absolute; + top: 12px; + left: -16px; +} + +nav.menu-params h3 { + font-size: 1.65rem; + border-bottom: 2px solid rgba(255, 255, 255, 0.2); +} + +nav.menu-params ul li:not(:last-child) { + border-bottom: 1px solid rgba(255, 255, 255, 0.15); +} + +nav.menu-params ul li a { + display: inline-block; + width: 100%; + height: 100%; + padding: 9px 0; + color: #fff; + font-size: 1.05rem; + text-decoration: none; +} + +nav.menu-params ul li a:hover { + color: #88cef6; +} + +nav.menu-params ul.contact { + padding-bottom: 80px !important; +} + +nav.menu-params ul.contact li { + padding: 10px 0; +} + +nav.menu-params ul.contact li a { + position: relative; + padding-left: 40px; + color: #0088db; + font-family: "Arquitecta-bold", Sans-serif; + font-size: 1rem; + line-height: 1.25rem; + text-transform: uppercase; + letter-spacing: .04em; +} + +nav.menu-params ul.contact li a i { + position: absolute; + top: -2px; + left: 0; +} + +nav.menu-params ul.contact li a:hover { + color: #fff !important; +} + +nav.menu-params ul.contact li a:hover i use { + stroke: #fff; +} + + +/* -------------------- Lien support -------------------- */ + +body nav.menu-left ul li.link-support { + margin-top: 80px; + padding-bottom: 80px !important; +} + +body nav.menu-left ul li.link-support a { + font-size: .95rem; + padding: 1.45rem 2rem 1.45rem 4.7rem; + box-shadow: none !important; +} + +body nav.menu-left ul li.link-support a>.icon { + position: absolute; + top: 12px; + left: 24px; + transition: all 0.3s ease; + opacity: 1 !important; +} + +body nav.menu-left ul li.link-support a::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: -1; + width: 0; + background-color: #2ec3ea !important; + opacity: 0; + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08) !important; + transition: all 0.3s ease; +} + +body nav.menu-left ul li.link-support a::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 1px; + background-color: rgba(0, 0, 0, 0.06); +} + +body nav.menu-left ul li.link-support a:not(.bg-gradient):hover { + color: #fff !important; +} + +body nav.menu-left ul li.link-support a:not(.bg-gradient):hover>.icon use { + stroke: #fff; +} + +body nav.menu-left ul li.link-support a:not(.bg-gradient):hover::before { + width: 100%; + opacity: .85; +} + +@media (min-width: 992px) { + body nav.menu-left ul li.link-support { + padding-bottom: 0 !important; + } + body.esp-cl nav.menu-left ul li.link-support a::after { + width: calc(100% - 40px); + } + body:not(.erp).reduced-menu-left nav.menu-left ul li.link-support a { + padding-left: 0; + } + body:not(.erp).reduced-menu-left nav.menu-left ul li.link-support a::after { + width: 100%; + } +} + + +/* Right menu */ + + +/* -------------------- Panneau "Profil" -------------------- */ + +aside.profile { + display: block; + position: fixed; + z-index: 1995; + top: 0; + right: 0; + width: 0; + max-width: 320px; + height: 100%; + background-color: #cbe5f4; + transition: width 0.3s ease; +} + +aside.profile>div { + width: 100%; + height: auto !important; + max-height: calc(100vh - 117px); + padding: 30px; + padding-top: 25px !important; + padding-bottom: 80px !important; + scrollbar-color: #6daed4 rgba(255, 255, 255, 0.25); + scrollbar-width: thin !important; +} + +aside.profile>div::-webkit-scrollbar { + width: 4px; +} + +aside.profile>div::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.25); +} + +aside.profile>div::-webkit-scrollbar-thumb { + background: #6daed4; +} + +aside.profile>div::-webkit-scrollbar-thumb:hover { + background: #2f85b3; +} + +aside.profile .mobile-header { + position: relative; + height: 117px; + background-color: #fff; +} + +aside.profile .mobile-header::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + bottom: 0; + left: 0; + width: 100%; + height: 18px; + opacity: .4; + background-color: #cbe5f4; +} + +aside.profile .mobile-header>ul.user-options { + position: relative; + z-index: 2; + padding: 18px 5px 0 0 !important; + text-align: right; +} + +aside.profile .mobile-header>ul.user-options>li { + display: inline-block; +} + +aside.profile .mobile-header>ul.user-options>li .dropdown-menu a { + opacity: 1; +} + +aside.profile .mobile-header>ul.user-infos { + margin: 7px 0 0 60px !important; +} + +aside.profile .mobile-header>ul.user-infos a i.icon { + transform-origin: 110% 50%; + transform: scale(1.7); +} + +aside.profile .mobile-header>ul.user-infos a i:not(.icon) { + display: none; +} + +aside.profile .mobile-header>ul.user-infos a span { + font-family: 'Arquitecta-heavy'; + font-size: 1.4rem; + text-transform: uppercase; + letter-spacing: .04em; + max-width: 190px; +} + +aside.profile .mobile-header>ul.user-infos a, +aside.profile .mobile-header>ul.user-infos a:hover { + cursor: default; + color: #2f85b3 !important; +} + +aside.profile ul.nav-tabs { + align-items: baseline; +} + +aside.profile ul.nav-tabs li { + margin-top: 0 !important; +} + +aside.profile ul.nav-tabs li a { + padding: 0 1rem 0 .5rem; + border: 0; + background-color: transparent !important; +} + +aside.profile ul.nav-tabs li a:not(.active) { + opacity: .5; +} + +aside.profile ul.nav-tabs li a:not(.active) h4::after { + display: none; +} + +aside.profile ul.nav-tabs li a::after { + display: none !important; +} + +aside.profile ul.nav-tabs li a h4 { + margin-top: 0 !important; + font-size: 1.15rem; +} + +aside.profile a.close-profile, +aside.profile a.add-address { + display: inline-block; +} + +aside.profile a.close-profile { + position: absolute; + top: 20px; + left: 0; + width: 48px; + height: 48px; + opacity: 0; + transition: all 0.3s ease; +} + +body.show-profile aside.profile a.close-profile { + opacity: 1; +} + +aside.profile a.add-address { + width: 26px; + height: 26px; + padding-top: 2px; +} + +aside.profile form label { + color: #2f85b3; + opacity: .65; +} + +aside.profile form.readonly label { + padding-bottom: 0; +} + +aside.profile form.readonly .edit { + display: block; +} + +aside.profile form.readonly .validate { + display: none; +} + +aside.profile form:not(.readonly) .edit { + display: none; +} + +aside.profile form:not(.readonly) .validate { + display: block; +} + +aside.profile hr { + border-top: 1px solid rgba(0, 0, 0, 0.07); +} + +aside.profile .pagination .page-item .page-link { + background-color: #2f85b3; +} + +aside.profile .pagination .page-item:not(.disabled) .page-link { + color: #2f85b3 !important; + background-color: #fff; +} + +body.show-profile aside.profile { + width: 440px; + max-width: calc(100vw - 60px); + box-shadow: 0 0 36px rgba(0, 0, 0, 0.1); +} + +body.show-profile aside.profile a.close-profile { + left: -48px; +} + +@media (min-width: 576px) { + aside.profile { + max-width: none; + } + aside.profile>div { + width: 440px !important; + } + aside.profile .mobile-header { + width: 440px !important; + } + aside.profile .mobile-header>ul.user-infos a span { + max-width: 310px; + } +} + +@media (min-width: 768px) { + aside.profile section#infos, + aside.profile section#addresses { + display: block !important; + opacity: 1 !important; + } +} + +@media (min-width: 992px) { + aside.profile { + position: absolute; + z-index: 995; + overflow: hidden; + } + body.show-profile aside.profile { + overflow: auto; + } + body.show-profile aside.profile.opened { + overflow: inherit !important; + } + aside.profile>div { + position: -webkit-sticky; + position: sticky; + top: 0; + max-height: 100vh; + height: 100% !important; + } + aside.profile a.close-profile { + position: absolute; + right: 20px; + left: auto !important; + opacity: .5 !important; + } + aside.profile a.close-profile:hover { + opacity: .8 !important; + } + aside.profile a.close-profile i { + color: #2f85b3 !important; + } +} + + +/* Footer */ + + +/* -------------------- Footer -------------------- */ + +footer { + z-index: 900; + width: 100%; + padding: 20px 30px; + color: #fff; + font-size: 10px; + background-color: #0b3c6e; + transition: all 0.3s ease; +} + +footer a, +footer a:hover { + color: #fff; +} + +footer a.link-under, +footer a:hover.link-under { + background-image: linear-gradient(to bottom, transparent 0, transparent calc(100% - 1px), #fff calc(100% - 1px), #fff 100%); +} + +footer .copy { + color: #cacaca; +} + +footer .copy svg.logo { + width: 32px; + margin-right: 10px; +} + +footer .copy strong { + color: #fff; +} + +footer .links span { + color: #8d8d8d; +} + +footer .menu-reminder { + font-family: "Arquitecta-regular", Sans-serif; + font-size: 13px; + letter-spacing: .04em; + text-transform: uppercase; +} + +footer .menu-reminder a:not(:last-child) { + margin-right: 20px; +} + + +/* -------------------- Utils -------------------- */ + + +/* -------------------- Sélecteur de langues -------------------- */ + +.lang-selector li { + display: inline-block; +} + +.lang-selector a { + display: inline-block; + width: 28px; + height: 28px; + border-radius: 50%; + font-family: 'Arquitecta-heavy'; + text-align: center; + line-height: 2.2em; + color: #fff; + font-size: .95em; + text-decoration: none; + opacity: .5; + background-color: #555; + transition: all 0.3s ease; +} + +.lang-selector a.active, +.lang-selector a:hover { + opacity: 1; +} + +.lang-selector>a { + opacity: .7; +} + +.lang-selector.show>a { + position: relative; + z-index: 2; + opacity: 1; + background-color: #3e64c1; + box-shadow: 0 0 14px -2px #3e64c1; +} + +.lang-selector .dropdown-menu { + min-width: 28px; + border: 0; + background-color: transparent; + box-shadow: none; + z-index: 1; + opacity: 0; + transform-origin: 12px 0; + transform: scale(0.6, 0.2) translateY(-32px); + transition: all 0.15s ease; +} + +.lang-selector .dropdown-menu.show { + opacity: 1; +} + +.lang-selector .dropdown-menu li { + display: block; + margin: 4px 0; +} + +.lang-selector .dropdown-menu li a.active { + display: none; +} + + +/* -------------------- Caroussels Flickity -------------------- */ + +.x-carousel { + opacity: 0; + transition: all 0.3s ease; +} + +.x-carousel.flickity-ready { + opacity: 1; +} + +.x-carousel.flickity-showall .flickity-viewport { + overflow: visible; +} + +.x-carousel.flickity-noarrows .flickity-prev-next-button, +.x-carousel.flickity-disabled .flickity-prev-next-button { + display: none !important; +} + +.x-carousel.flickity-disabled .flickity-viewport { + height: auto !important; +} + +.x-carousel.flickity-disabled .flickity-viewport .flickity-slider { + position: relative; +} + +.x-carousel.flickity-disabled .flickity-viewport .flickity-slider .carousel-cell { + position: relative !important; + left: 0 !important; +} + +.x-carousel .isflickity.flickity-autoheight .carousel-cell { + min-height: 100%; +} + +.x-carousel .flickity-prev-next-button { + width: 30px; + height: 100%; + color: #777 !important; + border: 0 !important; + border-radius: 0 !important; + background-color: transparent !important; +} + +.x-carousel .flickity-prev-next-button:hover { + background-color: rgba(255, 255, 255, 0.9); +} + +.x-carousel .flickity-prev-next-button.previous { + left: 5px; +} + +.x-carousel .flickity-prev-next-button.next { + right: 5px; +} + +.x-carousel .flickity-prev-next-button:disabled { + display: none !important; + pointer-events: none !important; +} + +.x-carousel.flickity-array { + width: calc(100% + 60px); + margin-left: -30px; + padding-left: 30px; + padding-right: 30px; +} + +html.noadvancedSticky .x-carousel.flickity-array { + overflow-x: hidden; +} + +.x-carousel.flickity-array table { + position: relative; +} + + +/* -------------------- Infopanel -------------------- */ + +#infopanel { + position: fixed; + z-index: 1000000; + width: 100%; + color: #fff !important; + opacity: .94; +} + +#infopanel.top { + top: 0; +} + +#infopanel.top .infoitem { + animation: Hideinfo-top .6s forwards; +} + +#infopanel.top .infoitem.show { + animation: Showinfo-top .4s; +} + +#infopanel.bottom { + bottom: 0; +} + +#infopanel.bottom .infoitem { + animation: Hideinfo-bottom .6s forwards; +} + +#infopanel.bottom .infoitem.show { + animation: Showinfo-bottom .4s; +} + +#infopanel .infoitem { + position: relative; + overflow: hidden; + box-shadow: inset 0 1px 0 0px rgba(255, 255, 255, 0.2); +} + +#infopanel .infoitem .close-panel { + position: absolute; + z-index: 1; + top: 2px; + right: 0; + width: 40px; + height: 40px; + opacity: .6; + transition: all 0.15s ease; +} + +#infopanel .infoitem .close-panel:hover { + opacity: 1; +} + +#infopanel .infoitem .content { + padding: 7px 40px 8px 14px; + text-align: center; +} + +#infopanel .infoitem .content.size-sm { + font-size: .85rem; +} + +#infopanel .infoitem .content.size-sm .text h5 { + font-size: 1.1rem; +} + +#infopanel .infoitem .content.size-sm .btn { + padding: .5rem 1rem; +} + +#infopanel .infoitem .content.size-md { + font-size: .95rem; +} + +#infopanel .infoitem .content.size-md .btn { + padding: .75rem 1.5rem; +} + +#infopanel .infoitem .content.size-lg { + font-size: 1.1rem; +} + +#infopanel .infoitem .content.size-lg .text h5 { + font-size: 1.5rem; +} + +#infopanel .infoitem .content.size-lg .btn { + padding: .9rem 1.9rem; +} + +#infopanel .infoitem .content>span { + display: inline-block; + vertical-align: middle; +} + +#infopanel .infoitem .content .text { + margin-right: 25px; + text-align: left; +} + +#infopanel .infoitem .content .text.hasicon { + margin-left: 36px; +} + +#infopanel .infoitem .content .text h5 { + color: #fff; +} + +#infopanel .infoitem .content .text a { + color: #fff; +} + +@media (max-width: 575px) { + #infopanel .infoitem .content { + padding-right: 14px; + } + #infopanel .infoitem .content .text { + max-width: calc(100% - 30px) !important; + text-align: center; + } + #infopanel .infoitem .content .buttons { + margin-top: 6px; + margin-bottom: 6px; + } +} + + +/* -------------------- Onglets -------------------- */ + +.nav .nav-item .nav-link { + color: #343a40; + font-family: "Arquitecta-regular", Sans-serif; + font-size: 1.3rem; + text-transform: uppercase; + transition: all 0.3s ease; +} + +.nav .nav-item .nav-link.active { + font-family: "Arquitecta-bold", Sans-serif; +} + +.nav .nav-item .nav-link.active, +.nav .nav-item .nav-link:hover { + color: #3e64c1; +} + +.nav.nav-pills .nav-item, +.nav.nav-tabs .nav-item { + margin-top: .7rem; +} + +.nav.nav-pills .nav-item .nav-link, +.nav.nav-tabs .nav-item .nav-link { + position: relative; +} + +.nav.nav-pills .nav-item .nav-link { + padding-top: .6rem; + padding-bottom: .6rem; +} + +.nav.nav-pills .nav-item .nav-link.active { + margin: 0 .4rem; + color: #fff !important; +} + +html.no-touchevents .nav.nav-pills .nav-item .nav-link:hover { + background-color: #ececec; +} + +.nav.nav-pills .nav-item:first-child .nav-link.active { + margin-left: 0; +} + +.nav.nav-tabs .nav-item .nav-link::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + bottom: 0; + left: 1rem; + width: calc(100% - 2rem); + height: 2px; + background-color: #3e64c1; + transform-origin: right; + transform: scaleX(0); + transition: transform 0.3s ease, opacity 0.3s ease; + opacity: .5; +} + +.nav.nav-tabs .nav-item .nav-link.active::after, +html.no-touchevents .nav.nav-tabs .nav-item .nav-link:hover::after { + transform-origin: left; + transform: scaleX(1); + opacity: 1; +} + +.nav.nav-tabs::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + bottom: 2px; + left: 0; + width: 100%; + height: 1px; + background-color: #dee2e6; +} + +.x-carousel .nav .nav-item a { + white-space: nowrap; +} + +.x-carousel .nav .flickity-prev-next-button.previous { + left: -27px; +} + +.x-carousel .nav .flickity-prev-next-button.next { + right: -27px; +} + +.x-carousel .nav.nav-tabs .flickity-prev-next-button, +.x-carousel .nav.nav-pills .flickity-prev-next-button { + margin-top: 5px; +} + +.sticky-nav .x-carousel:not(.bottom-actions) { + margin-right: 2rem; +} + + +/* -------------------- Blocs sticky zone de contenus (titres et action bottom) -------------------- */ + +article { + /* + @media (min-width: 576px) { + .sticky { + &.sticky-bottom { + &.is-stuck { + width: calc(100% + 120px); + margin-left: -60px; + } + } + } + } + */ +} + +article .has-sticky { + position: relative; +} + +article .sticky-observer { + position: absolute; + z-index: -1; + left: 0; + right: 0; + height: 40px; + visibility: hidden; +} + +article .sticky-observer.sticky-observer--top.sticky-top { + top: -40px; +} + +article .sticky-observer.sticky-observer--top.sticky-bottom { + top: 0; +} + +article .sticky-observer.sticky-observer--bottom.sticky-top { + top: inherit; + bottom: 97px; +} + +article .sticky-observer.sticky-observer--bottom.sticky-bottom { + bottom: -10px; +} + +article .sticky { + position: -webkit-sticky; + position: sticky; + &.sticky-bottom { + z-index: 1021; + bottom: -150px; + width: 100%; + margin-left: 0; + box-shadow: 0 0 10px rgba($black, 0); + &>* { + opacity: 1; + transition: $anim-300ms; + } + &.is-stuck { + width: calc(100% + 60px); + margin-left: -30px; + background-color: $white; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.14); + transition: $anim-600ms .3s; + body.hideheader & { + bottom: 0; + } + body.noiOSbottombar & { + bottom: -34px; + &::before { + @include pseudo-base(); + content: '\f058'; + top: 3px; + left: 60px; + width: 20px; + color: $primary; + text-align: center; + font-family: 'Font Awesome 5 Pro'; + font-size: 1.3rem; + font-weight: 700; + } + &>* { + opacity: 0; + } + } + body:not(.hideheader) & { + transform: translateY(100%); + } + } + body.hideheader & { + transition: $anim-600ms, $anim-tr-600ms; + } + } +} + +article .sticky.sticky-top { + z-index: 1020; + top: 0; +} + +article .sticky.sticky-top:not(thead) { + margin: -30px 0 0 0 !important; + padding: 20px 0; + border-bottom: 1px solid rgba(0, 0, 0, 0); + transition: border 0.3s ease; +} + +article .sticky.sticky-top:not(thead).is-stuck { + width: calc(100% + 60px); + margin-left: -30px !important; + padding-left: 30px; + padding-right: 30px; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + background-color: #f8f8f8; +} + +article .flickity-array table thead { + position: relative !important; +} + +article .flickity-array table thead th { + transition: all 0.3s ease 0.3s; +} + +article .flickity-array table thead.is-stuck th { + position: -webkit-sticky; + position: sticky; + z-index: 1; + top: 120px; + background-color: rgba(170, 170, 170, 0.9); +} + +body.hideheader article .flickity-array table thead.is-stuck th { + top: -2px; + transition: all 0.3s ease; +} + +html.noadvancedSticky article .flickity-array table thead th { + position: unset; + background-color: inherit; +} + +article .flickity-array table .sticky-observer.sticky-observer--bottom.sticky-top { + bottom: 0; +} + +@media (min-width: 768px) { + article .flickity-array table thead.is-stuck th { + top: 142px; + } +} + +@media (min-width: 992px) { + article .sticky { + &.sticky-bottom { + &.is-stuck { + bottom: 0 !important; + transform: translateY(0) !important; + background-color: $white; + box-shadow: 0 -1px 0 rgba(94, 94, 94, 0.14); + .flickity-slider>div:first-child { + padding: 1em 4.2em; + } + } + } + } + article .sticky.sticky-top { + margin: -50px 0 0 0 !important; + padding: 40px 0 30px; + } + article .flickity-array table thead.is-stuck th { + top: -2px; + transition: all 0.3s ease; + } +} + + +/* -------------------- Navigation par suivi scrolling -------------------- */ + +#scrollnav { + display: flex; + position: fixed; + z-index: 500; + top: 0; + right: 0; + width: 30px; + height: calc(100vh - 76px); + padding-top: 38px; + justify-content: center; + flex-direction: column; + font-size: .95rem; + background-color: transparent; + box-shadow: 0 0 0 rgba(0, 0, 0, 0.1); + transition: all 0.3s ease; +} + +#scrollnav::before, +#scrollnav::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + top: 0; + width: 100%; + height: 20%; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0) 100%) top center no-repeat; + opacity: 0; + transition: all 0.3s ease; +} + +#scrollnav::after { + top: unset; + bottom: 0; + transform: rotate(180deg); +} + +#scrollnav>.close-scrollnav { + position: absolute; + display: none; + z-index: 4; + top: 10px; + right: -20px; +} + +html.touchevents #scrollnav>.close-scrollnav { + display: block; +} + +#scrollnav>div { + padding: 0 0 0 1rem; + z-index: 2; +} + +#scrollnav>div>nav { + position: relative; + border-left: 2px solid transparent; + margin-bottom: 2rem; +} + +#scrollnav>div>nav a.nav-link { + max-height: 0; + min-width: 172px; + padding: .65rem 1.4rem; + color: #6c757d; + transition: all 0.3s ease; +} + +#scrollnav>div>nav a.nav-link>span { + max-height: 0; + opacity: 0; + overflow: hidden; + transition: all 0.3s ease; +} + +#scrollnav>div>nav a.nav-link::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + left: -5px; + width: 12px; + height: 12px; + margin-top: calc(.65em - 4px); + border: 3px solid #f8f8f8; + border-radius: 50%; + background-color: #adb5bd; + transform: scale(1); + transition: all 0.3s ease; + transform-origin: center center; +} + +#scrollnav>div>nav a.nav-link.active { + padding: 1.1rem 1.4rem !important; + color: #3e64c1; +} + +#scrollnav>div>nav a.nav-link.active::before { + transform: scale(1.4); + border: 2px solid #f8f8f8; + box-shadow: 0 0 0 2px rgba(62, 100, 193, 0.2); + background-color: #3e64c1; +} + +#scrollnav>div>nav nav { + padding-left: .6rem; + font-size: .9em; +} + +#scrollnav>div>nav>a.nav-link { + font-weight: bold; +} + +#scrollnav>div>nav>a, +#scrollnav>div>nav>nav { + position: relative; + left: -2px; +} + +#scrollnav.hover { + z-index: 1050; + width: 230px; + height: 100vh; + padding-top: 0; + font-size: .95rem; + background-color: #fff; + box-shadow: 0 0 40px rgba(0, 0, 0, 0.1); +} + +#scrollnav.hover::before, +#scrollnav.hover::after { + opacity: 1; +} + +#scrollnav.hover>.close-scrollnav { + right: 20px; +} + +#scrollnav.hover>div { + overflow-x: hidden; + overflow-y: auto; + padding: 2rem; +} + +#scrollnav.hover>div>nav { + border-left: 2px solid #f8f9fa; +} + +#scrollnav.hover>div>nav a.nav-link { + padding: .4rem 1.4rem !important; + max-height: 100px; +} + +#scrollnav.hover>div>nav a.nav-link>span { + max-height: 30%; + opacity: 1; +} + +#scrollnav.hover>div>nav a.nav-link.active { + padding: 1rem 1.4rem !important; +} + +#scrollnav.hover>div>nav>a.nav-link { + padding: .6rem 1.4rem !important; +} + +@media (min-width: 576px) { + #scrollnav { + width: 40px; + } + #scrollnav>div { + padding: 0 0 0 1.4rem; + } + #scrollnav.hover { + width: 280px; + } + #scrollnav.hover>div { + padding: 3rem; + } +} + + +/* -------------------- Thème couleur des grandes rubriques -------------------- */ + +body.erp.rub-default { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-default main>article, +body.erp.rub-default .modal { + /* Formulaires */ +} + +body.erp.rub-default main>article .form-control:focus, +body.erp.rub-default main>article .custom-select:focus, +body.erp.rub-default .modal .form-control:focus, +body.erp.rub-default .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 16px 44px rgba(62, 100, 193, 0.08), 0 0 0 3px rgba(62, 100, 193, 0.3), 0 8px 30px rgba(62, 100, 193, 0.12); +} + +body.erp.rub-default main>article .form-control:focus.disabled, +body.erp.rub-default main>article .custom-select:focus.disabled, +body.erp.rub-default .modal .form-control:focus.disabled, +body.erp.rub-default .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-default main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-default .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #3e64c1 !important; + background-color: #3e64c1 !important; +} + +body.erp.rub-default main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-default .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(62, 100, 193, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-default main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-default main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-default main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-default .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-default .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-default .modal .bootstrap-select .dropdown-item.selected { + background-color: #3e64c1 !important; +} + +body.erp.rub-default main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-default main>article .breadcrumb-item a:hover { + color: #3e64c1 !important; +} + +body.erp.rub-default main>article .nav .nav-item .nav-link.active, +body.erp.rub-default main>article .nav .nav-item .nav-link:hover { + color: #3e64c1; +} + +body.erp.rub-default main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #3e64c1; +} + +body.erp.rub-default main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #3e64c1; +} + +body.erp.rub-default main>article .sticky.sticky-bottom.is-stuck::before { + color: #3e64c1; +} + +body.erp.rub-default main>article .pagination .page-item.prev .page-link, +body.erp.rub-default main>article .pagination .page-item.next .page-link { + color: #3e64c1 !important; +} + +body.erp.rub-default main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-default main>article .pagination .page-item.next.disabled .page-link { + color: rgba(62, 100, 193, 0.4) !important; +} + +body.erp.rub-default main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(62, 100, 193, 0.5) !important; +} + +body.erp.rub-default main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #3e64c1 !important; +} + +body.erp.rub-default main>article ul.holder li.bit-box { + background-color: rgba(62, 100, 193, 0.4); +} + +body.erp.rub-default main>article .facebook-auto ul li.auto-focus { + background-color: #3e64c1; +} + +body.erp.rub-default main>article .facebook-auto ul li em { + background-color: rgba(62, 100, 193, 0.4); +} + +body.erp.rub-default #scrollnav>div>nav a.nav-link.active { + color: #3e64c1; +} + +body.erp.rub-default #scrollnav>div>nav a.nav-link.active::before { + background-color: #3e64c1; + box-shadow: 0 0 0 2px rgba(62, 100, 193, 0.2); +} + +body.erp.rub-default main>article a:not(.btn), +body.erp.rub-default .popover a:not(.btn) { + color: #3e64c1; +} + +body.erp.rub-default main>article ul.savedsearcheslist li:hover, +body.erp.rub-default main>article ul.savedsearcheslist li.import, +body.erp.rub-default .popover ul.savedsearcheslist li:hover, +body.erp.rub-default .popover ul.savedsearcheslist li.import { + background-color: #3e64c1; +} + +body.erp.rub-default main>article h2, +body.erp.rub-default main>article h3, +body.erp.rub-default main>article h4, +body.erp.rub-default main>article h5, +body.erp.rub-default main>article h6, +body.erp.rub-default .modal h2, +body.erp.rub-default .modal h3, +body.erp.rub-default .modal h4, +body.erp.rub-default .modal h5, +body.erp.rub-default .modal h6 { + color: #3e64c1; +} + +body.erp.rub-default main>article h2 i svg use, +body.erp.rub-default main>article h3 i svg use, +body.erp.rub-default main>article h4 i svg use, +body.erp.rub-default main>article h5 i svg use, +body.erp.rub-default main>article h6 i svg use, +body.erp.rub-default .modal h2 i svg use, +body.erp.rub-default .modal h3 i svg use, +body.erp.rub-default .modal h4 i svg use, +body.erp.rub-default .modal h5 i svg use, +body.erp.rub-default .modal h6 i svg use { + stroke: #3e64c1; +} + +body.erp.rub-default .modal a:not(.btn) { + color: #3e64c1; +} + +body.erp.rub-default .loader>svg>circle { + stroke: #3e64c1; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-default.reduced-menu-left nav.menu-left { + background: rgba(62, 100, 193, 0.6); + } +} + +body.erp.rub-publication { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-publication main>article, +body.erp.rub-publication .modal { + /* Formulaires */ +} + +body.erp.rub-publication main>article .form-control:focus, +body.erp.rub-publication main>article .custom-select:focus, +body.erp.rub-publication .modal .form-control:focus, +body.erp.rub-publication .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(155, 54, 155, 0), 0 16px 44px rgba(155, 54, 155, 0.08), 0 0 0 3px rgba(155, 54, 155, 0.3), 0 8px 30px rgba(155, 54, 155, 0.12); +} + +body.erp.rub-publication main>article .form-control:focus.disabled, +body.erp.rub-publication main>article .custom-select:focus.disabled, +body.erp.rub-publication .modal .form-control:focus.disabled, +body.erp.rub-publication .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-publication main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-publication .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #9b369b !important; + background-color: #9b369b !important; +} + +body.erp.rub-publication main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-publication .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(155, 54, 155, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-publication main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-publication main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-publication main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-publication .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-publication .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-publication .modal .bootstrap-select .dropdown-item.selected { + background-color: #9b369b !important; +} + +body.erp.rub-publication main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-publication main>article .breadcrumb-item a:hover { + color: #9b369b !important; +} + +body.erp.rub-publication main>article .nav .nav-item .nav-link.active, +body.erp.rub-publication main>article .nav .nav-item .nav-link:hover { + color: #9b369b; +} + +body.erp.rub-publication main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #9b369b; +} + +body.erp.rub-publication main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #9b369b; +} + +body.erp.rub-publication main>article .sticky.sticky-bottom.is-stuck::before { + color: #9b369b; +} + +body.erp.rub-publication main>article .pagination .page-item.prev .page-link, +body.erp.rub-publication main>article .pagination .page-item.next .page-link { + color: #9b369b !important; +} + +body.erp.rub-publication main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-publication main>article .pagination .page-item.next.disabled .page-link { + color: rgba(155, 54, 155, 0.4) !important; +} + +body.erp.rub-publication main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(155, 54, 155, 0.5) !important; +} + +body.erp.rub-publication main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #9b369b !important; +} + +body.erp.rub-publication main>article ul.holder li.bit-box { + background-color: rgba(155, 54, 155, 0.4); +} + +body.erp.rub-publication main>article .facebook-auto ul li.auto-focus { + background-color: #9b369b; +} + +body.erp.rub-publication main>article .facebook-auto ul li em { + background-color: rgba(155, 54, 155, 0.4); +} + +body.erp.rub-publication #scrollnav>div>nav a.nav-link.active { + color: #9b369b; +} + +body.erp.rub-publication #scrollnav>div>nav a.nav-link.active::before { + background-color: #9b369b; + box-shadow: 0 0 0 2px rgba(155, 54, 155, 0.2); +} + +body.erp.rub-publication main>article a:not(.btn), +body.erp.rub-publication .popover a:not(.btn) { + color: #9b369b; +} + +body.erp.rub-publication main>article ul.savedsearcheslist li:hover, +body.erp.rub-publication main>article ul.savedsearcheslist li.import, +body.erp.rub-publication .popover ul.savedsearcheslist li:hover, +body.erp.rub-publication .popover ul.savedsearcheslist li.import { + background-color: #9b369b; +} + +body.erp.rub-publication main>article h2, +body.erp.rub-publication main>article h3, +body.erp.rub-publication main>article h4, +body.erp.rub-publication main>article h5, +body.erp.rub-publication main>article h6, +body.erp.rub-publication .modal h2, +body.erp.rub-publication .modal h3, +body.erp.rub-publication .modal h4, +body.erp.rub-publication .modal h5, +body.erp.rub-publication .modal h6 { + color: #9b369b; +} + +body.erp.rub-publication main>article h2 i svg use, +body.erp.rub-publication main>article h3 i svg use, +body.erp.rub-publication main>article h4 i svg use, +body.erp.rub-publication main>article h5 i svg use, +body.erp.rub-publication main>article h6 i svg use, +body.erp.rub-publication .modal h2 i svg use, +body.erp.rub-publication .modal h3 i svg use, +body.erp.rub-publication .modal h4 i svg use, +body.erp.rub-publication .modal h5 i svg use, +body.erp.rub-publication .modal h6 i svg use { + stroke: #9b369b; +} + +body.erp.rub-publication .modal a:not(.btn) { + color: #9b369b; +} + +body.erp.rub-publication .loader>svg>circle { + stroke: #9b369b; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-publication.reduced-menu-left nav.menu-left { + background: rgba(155, 54, 155, 0.6); + } +} + +body.erp.rub-abstracts { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-abstracts main>article, +body.erp.rub-abstracts .modal { + /* Formulaires */ +} + +body.erp.rub-abstracts main>article .form-control:focus, +body.erp.rub-abstracts main>article .custom-select:focus, +body.erp.rub-abstracts .modal .form-control:focus, +body.erp.rub-abstracts .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(245, 186, 27, 0), 0 16px 44px rgba(245, 186, 27, 0.08), 0 0 0 3px rgba(245, 186, 27, 0.3), 0 8px 30px rgba(245, 186, 27, 0.12); +} + +body.erp.rub-abstracts main>article .form-control:focus.disabled, +body.erp.rub-abstracts main>article .custom-select:focus.disabled, +body.erp.rub-abstracts .modal .form-control:focus.disabled, +body.erp.rub-abstracts .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-abstracts main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-abstracts .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #f5ba1b !important; + background-color: #f5ba1b !important; +} + +body.erp.rub-abstracts main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-abstracts .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(245, 186, 27, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-abstracts main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-abstracts main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-abstracts main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-abstracts .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-abstracts .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-abstracts .modal .bootstrap-select .dropdown-item.selected { + background-color: #f5ba1b !important; +} + +body.erp.rub-abstracts main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-abstracts main>article .breadcrumb-item a:hover { + color: #f5ba1b !important; +} + +body.erp.rub-abstracts main>article .nav .nav-item .nav-link.active, +body.erp.rub-abstracts main>article .nav .nav-item .nav-link:hover { + color: #f5ba1b; +} + +body.erp.rub-abstracts main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #f5ba1b; +} + +body.erp.rub-abstracts main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #f5ba1b; +} + +body.erp.rub-abstracts main>article .sticky.sticky-bottom.is-stuck::before { + color: #f5ba1b; +} + +body.erp.rub-abstracts main>article .pagination .page-item.prev .page-link, +body.erp.rub-abstracts main>article .pagination .page-item.next .page-link { + color: #f5ba1b !important; +} + +body.erp.rub-abstracts main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-abstracts main>article .pagination .page-item.next.disabled .page-link { + color: rgba(245, 186, 27, 0.4) !important; +} + +body.erp.rub-abstracts main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(245, 186, 27, 0.5) !important; +} + +body.erp.rub-abstracts main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #f5ba1b !important; +} + +body.erp.rub-abstracts main>article ul.holder li.bit-box { + background-color: rgba(245, 186, 27, 0.4); +} + +body.erp.rub-abstracts main>article .facebook-auto ul li.auto-focus { + background-color: #f5ba1b; +} + +body.erp.rub-abstracts main>article .facebook-auto ul li em { + background-color: rgba(245, 186, 27, 0.4); +} + +body.erp.rub-abstracts #scrollnav>div>nav a.nav-link.active { + color: #f5ba1b; +} + +body.erp.rub-abstracts #scrollnav>div>nav a.nav-link.active::before { + background-color: #f5ba1b; + box-shadow: 0 0 0 2px rgba(245, 186, 27, 0.2); +} + +body.erp.rub-abstracts main>article a:not(.btn), +body.erp.rub-abstracts .popover a:not(.btn) { + color: #f5ba1b; +} + +body.erp.rub-abstracts main>article ul.savedsearcheslist li:hover, +body.erp.rub-abstracts main>article ul.savedsearcheslist li.import, +body.erp.rub-abstracts .popover ul.savedsearcheslist li:hover, +body.erp.rub-abstracts .popover ul.savedsearcheslist li.import { + background-color: #f5ba1b; +} + +body.erp.rub-abstracts main>article h2, +body.erp.rub-abstracts main>article h3, +body.erp.rub-abstracts main>article h4, +body.erp.rub-abstracts main>article h5, +body.erp.rub-abstracts main>article h6, +body.erp.rub-abstracts .modal h2, +body.erp.rub-abstracts .modal h3, +body.erp.rub-abstracts .modal h4, +body.erp.rub-abstracts .modal h5, +body.erp.rub-abstracts .modal h6 { + color: #f5ba1b; +} + +body.erp.rub-abstracts main>article h2 i svg use, +body.erp.rub-abstracts main>article h3 i svg use, +body.erp.rub-abstracts main>article h4 i svg use, +body.erp.rub-abstracts main>article h5 i svg use, +body.erp.rub-abstracts main>article h6 i svg use, +body.erp.rub-abstracts .modal h2 i svg use, +body.erp.rub-abstracts .modal h3 i svg use, +body.erp.rub-abstracts .modal h4 i svg use, +body.erp.rub-abstracts .modal h5 i svg use, +body.erp.rub-abstracts .modal h6 i svg use { + stroke: #f5ba1b; +} + +body.erp.rub-abstracts .modal a:not(.btn) { + color: #f5ba1b; +} + +body.erp.rub-abstracts .loader>svg>circle { + stroke: #f5ba1b; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-abstracts.reduced-menu-left nav.menu-left { + background: rgba(245, 186, 27, 0.6); + } +} + +body.erp.rub-groupes { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-groupes main>article, +body.erp.rub-groupes .modal { + /* Formulaires */ +} + +body.erp.rub-groupes main>article .form-control:focus, +body.erp.rub-groupes main>article .custom-select:focus, +body.erp.rub-groupes .modal .form-control:focus, +body.erp.rub-groupes .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(64, 156, 106, 0), 0 16px 44px rgba(64, 156, 106, 0.08), 0 0 0 3px rgba(64, 156, 106, 0.3), 0 8px 30px rgba(64, 156, 106, 0.12); +} + +body.erp.rub-groupes main>article .form-control:focus.disabled, +body.erp.rub-groupes main>article .custom-select:focus.disabled, +body.erp.rub-groupes .modal .form-control:focus.disabled, +body.erp.rub-groupes .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-groupes main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-groupes .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #409c6a !important; + background-color: #409c6a !important; +} + +body.erp.rub-groupes main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-groupes .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(64, 156, 106, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-groupes main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-groupes main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-groupes main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-groupes .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-groupes .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-groupes .modal .bootstrap-select .dropdown-item.selected { + background-color: #409c6a !important; +} + +body.erp.rub-groupes main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-groupes main>article .breadcrumb-item a:hover { + color: #409c6a !important; +} + +body.erp.rub-groupes main>article .nav .nav-item .nav-link.active, +body.erp.rub-groupes main>article .nav .nav-item .nav-link:hover { + color: #409c6a; +} + +body.erp.rub-groupes main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #409c6a; +} + +body.erp.rub-groupes main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #409c6a; +} + +body.erp.rub-groupes main>article .sticky.sticky-bottom.is-stuck::before { + color: #409c6a; +} + +body.erp.rub-groupes main>article .pagination .page-item.prev .page-link, +body.erp.rub-groupes main>article .pagination .page-item.next .page-link { + color: #409c6a !important; +} + +body.erp.rub-groupes main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-groupes main>article .pagination .page-item.next.disabled .page-link { + color: rgba(64, 156, 106, 0.4) !important; +} + +body.erp.rub-groupes main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(64, 156, 106, 0.5) !important; +} + +body.erp.rub-groupes main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #409c6a !important; +} + +body.erp.rub-groupes main>article ul.holder li.bit-box { + background-color: rgba(64, 156, 106, 0.4); +} + +body.erp.rub-groupes main>article .facebook-auto ul li.auto-focus { + background-color: #409c6a; +} + +body.erp.rub-groupes main>article .facebook-auto ul li em { + background-color: rgba(64, 156, 106, 0.4); +} + +body.erp.rub-groupes #scrollnav>div>nav a.nav-link.active { + color: #409c6a; +} + +body.erp.rub-groupes #scrollnav>div>nav a.nav-link.active::before { + background-color: #409c6a; + box-shadow: 0 0 0 2px rgba(64, 156, 106, 0.2); +} + +body.erp.rub-groupes main>article a:not(.btn), +body.erp.rub-groupes .popover a:not(.btn) { + color: #409c6a; +} + +body.erp.rub-groupes main>article ul.savedsearcheslist li:hover, +body.erp.rub-groupes main>article ul.savedsearcheslist li.import, +body.erp.rub-groupes .popover ul.savedsearcheslist li:hover, +body.erp.rub-groupes .popover ul.savedsearcheslist li.import { + background-color: #409c6a; +} + +body.erp.rub-groupes main>article h2, +body.erp.rub-groupes main>article h3, +body.erp.rub-groupes main>article h4, +body.erp.rub-groupes main>article h5, +body.erp.rub-groupes main>article h6, +body.erp.rub-groupes .modal h2, +body.erp.rub-groupes .modal h3, +body.erp.rub-groupes .modal h4, +body.erp.rub-groupes .modal h5, +body.erp.rub-groupes .modal h6 { + color: #409c6a; +} + +body.erp.rub-groupes main>article h2 i svg use, +body.erp.rub-groupes main>article h3 i svg use, +body.erp.rub-groupes main>article h4 i svg use, +body.erp.rub-groupes main>article h5 i svg use, +body.erp.rub-groupes main>article h6 i svg use, +body.erp.rub-groupes .modal h2 i svg use, +body.erp.rub-groupes .modal h3 i svg use, +body.erp.rub-groupes .modal h4 i svg use, +body.erp.rub-groupes .modal h5 i svg use, +body.erp.rub-groupes .modal h6 i svg use { + stroke: #409c6a; +} + +body.erp.rub-groupes .modal a:not(.btn) { + color: #409c6a; +} + +body.erp.rub-groupes .loader>svg>circle { + stroke: #409c6a; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-groupes.reduced-menu-left nav.menu-left { + background: rgba(64, 156, 106, 0.6); + } +} + +body.erp.rub-financiers { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-financiers main>article, +body.erp.rub-financiers .modal { + /* Formulaires */ +} + +body.erp.rub-financiers main>article .form-control:focus, +body.erp.rub-financiers main>article .custom-select:focus, +body.erp.rub-financiers .modal .form-control:focus, +body.erp.rub-financiers .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(232, 25, 44, 0), 0 16px 44px rgba(232, 25, 44, 0.08), 0 0 0 3px rgba(232, 25, 44, 0.3), 0 8px 30px rgba(232, 25, 44, 0.12); +} + +body.erp.rub-financiers main>article .form-control:focus.disabled, +body.erp.rub-financiers main>article .custom-select:focus.disabled, +body.erp.rub-financiers .modal .form-control:focus.disabled, +body.erp.rub-financiers .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-financiers main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-financiers .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #e8192c !important; + background-color: #e8192c !important; +} + +body.erp.rub-financiers main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-financiers .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-financiers main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-financiers main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-financiers main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-financiers .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-financiers .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-financiers .modal .bootstrap-select .dropdown-item.selected { + background-color: #e8192c !important; +} + +body.erp.rub-financiers main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-financiers main>article .breadcrumb-item a:hover { + color: #e8192c !important; +} + +body.erp.rub-financiers main>article .nav .nav-item .nav-link.active, +body.erp.rub-financiers main>article .nav .nav-item .nav-link:hover { + color: #e8192c; +} + +body.erp.rub-financiers main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #e8192c; +} + +body.erp.rub-financiers main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #e8192c; +} + +body.erp.rub-financiers main>article .sticky.sticky-bottom.is-stuck::before { + color: #e8192c; +} + +body.erp.rub-financiers main>article .pagination .page-item.prev .page-link, +body.erp.rub-financiers main>article .pagination .page-item.next .page-link { + color: #e8192c !important; +} + +body.erp.rub-financiers main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-financiers main>article .pagination .page-item.next.disabled .page-link { + color: rgba(232, 25, 44, 0.4) !important; +} + +body.erp.rub-financiers main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(232, 25, 44, 0.5) !important; +} + +body.erp.rub-financiers main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #e8192c !important; +} + +body.erp.rub-financiers main>article ul.holder li.bit-box { + background-color: rgba(232, 25, 44, 0.4); +} + +body.erp.rub-financiers main>article .facebook-auto ul li.auto-focus { + background-color: #e8192c; +} + +body.erp.rub-financiers main>article .facebook-auto ul li em { + background-color: rgba(232, 25, 44, 0.4); +} + +body.erp.rub-financiers #scrollnav>div>nav a.nav-link.active { + color: #e8192c; +} + +body.erp.rub-financiers #scrollnav>div>nav a.nav-link.active::before { + background-color: #e8192c; + box-shadow: 0 0 0 2px rgba(232, 25, 44, 0.2); +} + +body.erp.rub-financiers main>article a:not(.btn), +body.erp.rub-financiers .popover a:not(.btn) { + color: #e8192c; +} + +body.erp.rub-financiers main>article ul.savedsearcheslist li:hover, +body.erp.rub-financiers main>article ul.savedsearcheslist li.import, +body.erp.rub-financiers .popover ul.savedsearcheslist li:hover, +body.erp.rub-financiers .popover ul.savedsearcheslist li.import { + background-color: #e8192c; +} + +body.erp.rub-financiers main>article h2, +body.erp.rub-financiers main>article h3, +body.erp.rub-financiers main>article h4, +body.erp.rub-financiers main>article h5, +body.erp.rub-financiers main>article h6, +body.erp.rub-financiers .modal h2, +body.erp.rub-financiers .modal h3, +body.erp.rub-financiers .modal h4, +body.erp.rub-financiers .modal h5, +body.erp.rub-financiers .modal h6 { + color: #e8192c; +} + +body.erp.rub-financiers main>article h2 i svg use, +body.erp.rub-financiers main>article h3 i svg use, +body.erp.rub-financiers main>article h4 i svg use, +body.erp.rub-financiers main>article h5 i svg use, +body.erp.rub-financiers main>article h6 i svg use, +body.erp.rub-financiers .modal h2 i svg use, +body.erp.rub-financiers .modal h3 i svg use, +body.erp.rub-financiers .modal h4 i svg use, +body.erp.rub-financiers .modal h5 i svg use, +body.erp.rub-financiers .modal h6 i svg use { + stroke: #e8192c; +} + +body.erp.rub-financiers .modal a:not(.btn) { + color: #e8192c; +} + +body.erp.rub-financiers .loader>svg>circle { + stroke: #e8192c; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-financiers.reduced-menu-left nav.menu-left { + background: rgba(232, 25, 44, 0.6); + } +} + +body.erp.rub-hebergement { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-hebergement main>article, +body.erp.rub-hebergement .modal { + /* Formulaires */ +} + +body.erp.rub-hebergement main>article .form-control:focus, +body.erp.rub-hebergement main>article .custom-select:focus, +body.erp.rub-hebergement .modal .form-control:focus, +body.erp.rub-hebergement .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(38, 76, 149, 0), 0 16px 44px rgba(38, 76, 149, 0.08), 0 0 0 3px rgba(38, 76, 149, 0.3), 0 8px 30px rgba(38, 76, 149, 0.12); +} + +body.erp.rub-hebergement main>article .form-control:focus.disabled, +body.erp.rub-hebergement main>article .custom-select:focus.disabled, +body.erp.rub-hebergement .modal .form-control:focus.disabled, +body.erp.rub-hebergement .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-hebergement main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-hebergement .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #264c95 !important; + background-color: #264c95 !important; +} + +body.erp.rub-hebergement main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-hebergement .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(38, 76, 149, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-hebergement main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-hebergement main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-hebergement main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-hebergement .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-hebergement .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-hebergement .modal .bootstrap-select .dropdown-item.selected { + background-color: #264c95 !important; +} + +body.erp.rub-hebergement main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-hebergement main>article .breadcrumb-item a:hover { + color: #264c95 !important; +} + +body.erp.rub-hebergement main>article .nav .nav-item .nav-link.active, +body.erp.rub-hebergement main>article .nav .nav-item .nav-link:hover { + color: #264c95; +} + +body.erp.rub-hebergement main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #264c95; +} + +body.erp.rub-hebergement main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #264c95; +} + +body.erp.rub-hebergement main>article .sticky.sticky-bottom.is-stuck::before { + color: #264c95; +} + +body.erp.rub-hebergement main>article .pagination .page-item.prev .page-link, +body.erp.rub-hebergement main>article .pagination .page-item.next .page-link { + color: #264c95 !important; +} + +body.erp.rub-hebergement main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-hebergement main>article .pagination .page-item.next.disabled .page-link { + color: rgba(38, 76, 149, 0.4) !important; +} + +body.erp.rub-hebergement main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(38, 76, 149, 0.5) !important; +} + +body.erp.rub-hebergement main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #264c95 !important; +} + +body.erp.rub-hebergement main>article ul.holder li.bit-box { + background-color: rgba(38, 76, 149, 0.4); +} + +body.erp.rub-hebergement main>article .facebook-auto ul li.auto-focus { + background-color: #264c95; +} + +body.erp.rub-hebergement main>article .facebook-auto ul li em { + background-color: rgba(38, 76, 149, 0.4); +} + +body.erp.rub-hebergement #scrollnav>div>nav a.nav-link.active { + color: #264c95; +} + +body.erp.rub-hebergement #scrollnav>div>nav a.nav-link.active::before { + background-color: #264c95; + box-shadow: 0 0 0 2px rgba(38, 76, 149, 0.2); +} + +body.erp.rub-hebergement main>article a:not(.btn), +body.erp.rub-hebergement .popover a:not(.btn) { + color: #264c95; +} + +body.erp.rub-hebergement main>article ul.savedsearcheslist li:hover, +body.erp.rub-hebergement main>article ul.savedsearcheslist li.import, +body.erp.rub-hebergement .popover ul.savedsearcheslist li:hover, +body.erp.rub-hebergement .popover ul.savedsearcheslist li.import { + background-color: #264c95; +} + +body.erp.rub-hebergement main>article h2, +body.erp.rub-hebergement main>article h3, +body.erp.rub-hebergement main>article h4, +body.erp.rub-hebergement main>article h5, +body.erp.rub-hebergement main>article h6, +body.erp.rub-hebergement .modal h2, +body.erp.rub-hebergement .modal h3, +body.erp.rub-hebergement .modal h4, +body.erp.rub-hebergement .modal h5, +body.erp.rub-hebergement .modal h6 { + color: #264c95; +} + +body.erp.rub-hebergement main>article h2 i svg use, +body.erp.rub-hebergement main>article h3 i svg use, +body.erp.rub-hebergement main>article h4 i svg use, +body.erp.rub-hebergement main>article h5 i svg use, +body.erp.rub-hebergement main>article h6 i svg use, +body.erp.rub-hebergement .modal h2 i svg use, +body.erp.rub-hebergement .modal h3 i svg use, +body.erp.rub-hebergement .modal h4 i svg use, +body.erp.rub-hebergement .modal h5 i svg use, +body.erp.rub-hebergement .modal h6 i svg use { + stroke: #264c95; +} + +body.erp.rub-hebergement .modal a:not(.btn) { + color: #264c95; +} + +body.erp.rub-hebergement .loader>svg>circle { + stroke: #264c95; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-hebergement.reduced-menu-left nav.menu-left { + background: rgba(38, 76, 149, 0.6); + } +} + +body.erp.rub-inscriptions { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-inscriptions main>article, +body.erp.rub-inscriptions .modal { + /* Formulaires */ +} + +body.erp.rub-inscriptions main>article .form-control:focus, +body.erp.rub-inscriptions main>article .custom-select:focus, +body.erp.rub-inscriptions .modal .form-control:focus, +body.erp.rub-inscriptions .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(0, 136, 219, 0), 0 16px 44px rgba(0, 136, 219, 0.08), 0 0 0 3px rgba(0, 136, 219, 0.3), 0 8px 30px rgba(0, 136, 219, 0.12); +} + +body.erp.rub-inscriptions main>article .form-control:focus.disabled, +body.erp.rub-inscriptions main>article .custom-select:focus.disabled, +body.erp.rub-inscriptions .modal .form-control:focus.disabled, +body.erp.rub-inscriptions .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-inscriptions main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-inscriptions .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #0088db !important; + background-color: #0088db !important; +} + +body.erp.rub-inscriptions main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-inscriptions .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 136, 219, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-inscriptions main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-inscriptions main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-inscriptions main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-inscriptions .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-inscriptions .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-inscriptions .modal .bootstrap-select .dropdown-item.selected { + background-color: #0088db !important; +} + +body.erp.rub-inscriptions main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-inscriptions main>article .breadcrumb-item a:hover { + color: #0088db !important; +} + +body.erp.rub-inscriptions main>article .nav .nav-item .nav-link.active, +body.erp.rub-inscriptions main>article .nav .nav-item .nav-link:hover { + color: #0088db; +} + +body.erp.rub-inscriptions main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #0088db; +} + +body.erp.rub-inscriptions main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #0088db; +} + +body.erp.rub-inscriptions main>article .sticky.sticky-bottom.is-stuck::before { + color: #0088db; +} + +body.erp.rub-inscriptions main>article .pagination .page-item.prev .page-link, +body.erp.rub-inscriptions main>article .pagination .page-item.next .page-link { + color: #0088db !important; +} + +body.erp.rub-inscriptions main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-inscriptions main>article .pagination .page-item.next.disabled .page-link { + color: rgba(0, 136, 219, 0.4) !important; +} + +body.erp.rub-inscriptions main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(0, 136, 219, 0.5) !important; +} + +body.erp.rub-inscriptions main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #0088db !important; +} + +body.erp.rub-inscriptions main>article ul.holder li.bit-box { + background-color: rgba(0, 136, 219, 0.4); +} + +body.erp.rub-inscriptions main>article .facebook-auto ul li.auto-focus { + background-color: #0088db; +} + +body.erp.rub-inscriptions main>article .facebook-auto ul li em { + background-color: rgba(0, 136, 219, 0.4); +} + +body.erp.rub-inscriptions #scrollnav>div>nav a.nav-link.active { + color: #0088db; +} + +body.erp.rub-inscriptions #scrollnav>div>nav a.nav-link.active::before { + background-color: #0088db; + box-shadow: 0 0 0 2px rgba(0, 136, 219, 0.2); +} + +body.erp.rub-inscriptions main>article a:not(.btn), +body.erp.rub-inscriptions .popover a:not(.btn) { + color: #0088db; +} + +body.erp.rub-inscriptions main>article ul.savedsearcheslist li:hover, +body.erp.rub-inscriptions main>article ul.savedsearcheslist li.import, +body.erp.rub-inscriptions .popover ul.savedsearcheslist li:hover, +body.erp.rub-inscriptions .popover ul.savedsearcheslist li.import { + background-color: #0088db; +} + +body.erp.rub-inscriptions main>article h2, +body.erp.rub-inscriptions main>article h3, +body.erp.rub-inscriptions main>article h4, +body.erp.rub-inscriptions main>article h5, +body.erp.rub-inscriptions main>article h6, +body.erp.rub-inscriptions .modal h2, +body.erp.rub-inscriptions .modal h3, +body.erp.rub-inscriptions .modal h4, +body.erp.rub-inscriptions .modal h5, +body.erp.rub-inscriptions .modal h6 { + color: #0088db; +} + +body.erp.rub-inscriptions main>article h2 i svg use, +body.erp.rub-inscriptions main>article h3 i svg use, +body.erp.rub-inscriptions main>article h4 i svg use, +body.erp.rub-inscriptions main>article h5 i svg use, +body.erp.rub-inscriptions main>article h6 i svg use, +body.erp.rub-inscriptions .modal h2 i svg use, +body.erp.rub-inscriptions .modal h3 i svg use, +body.erp.rub-inscriptions .modal h4 i svg use, +body.erp.rub-inscriptions .modal h5 i svg use, +body.erp.rub-inscriptions .modal h6 i svg use { + stroke: #0088db; +} + +body.erp.rub-inscriptions .modal a:not(.btn) { + color: #0088db; +} + +body.erp.rub-inscriptions .loader>svg>circle { + stroke: #0088db; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-inscriptions.reduced-menu-left nav.menu-left { + background: rgba(0, 136, 219, 0.6); + } +} + +body.erp.rub-emailing { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-emailing main>article, +body.erp.rub-emailing .modal { + /* Formulaires */ +} + +body.erp.rub-emailing main>article .form-control:focus, +body.erp.rub-emailing main>article .custom-select:focus, +body.erp.rub-emailing .modal .form-control:focus, +body.erp.rub-emailing .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(255, 96, 0, 0), 0 16px 44px rgba(255, 96, 0, 0.08), 0 0 0 3px rgba(255, 96, 0, 0.3), 0 8px 30px rgba(255, 96, 0, 0.12); +} + +body.erp.rub-emailing main>article .form-control:focus.disabled, +body.erp.rub-emailing main>article .custom-select:focus.disabled, +body.erp.rub-emailing .modal .form-control:focus.disabled, +body.erp.rub-emailing .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-emailing main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-emailing .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #ff6000 !important; + background-color: #ff6000 !important; +} + +body.erp.rub-emailing main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-emailing .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(255, 96, 0, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-emailing main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-emailing main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-emailing main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-emailing .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-emailing .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-emailing .modal .bootstrap-select .dropdown-item.selected { + background-color: #ff6000 !important; +} + +body.erp.rub-emailing main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-emailing main>article .breadcrumb-item a:hover { + color: #ff6000 !important; +} + +body.erp.rub-emailing main>article .nav .nav-item .nav-link.active, +body.erp.rub-emailing main>article .nav .nav-item .nav-link:hover { + color: #ff6000; +} + +body.erp.rub-emailing main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #ff6000; +} + +body.erp.rub-emailing main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #ff6000; +} + +body.erp.rub-emailing main>article .sticky.sticky-bottom.is-stuck::before { + color: #ff6000; +} + +body.erp.rub-emailing main>article .pagination .page-item.prev .page-link, +body.erp.rub-emailing main>article .pagination .page-item.next .page-link { + color: #ff6000 !important; +} + +body.erp.rub-emailing main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-emailing main>article .pagination .page-item.next.disabled .page-link { + color: rgba(255, 96, 0, 0.4) !important; +} + +body.erp.rub-emailing main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(255, 96, 0, 0.5) !important; +} + +body.erp.rub-emailing main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #ff6000 !important; +} + +body.erp.rub-emailing main>article ul.holder li.bit-box { + background-color: rgba(255, 96, 0, 0.4); +} + +body.erp.rub-emailing main>article .facebook-auto ul li.auto-focus { + background-color: #ff6000; +} + +body.erp.rub-emailing main>article .facebook-auto ul li em { + background-color: rgba(255, 96, 0, 0.4); +} + +body.erp.rub-emailing #scrollnav>div>nav a.nav-link.active { + color: #ff6000; +} + +body.erp.rub-emailing #scrollnav>div>nav a.nav-link.active::before { + background-color: #ff6000; + box-shadow: 0 0 0 2px rgba(255, 96, 0, 0.2); +} + +body.erp.rub-emailing main>article a:not(.btn), +body.erp.rub-emailing .popover a:not(.btn) { + color: #ff6000; +} + +body.erp.rub-emailing main>article ul.savedsearcheslist li:hover, +body.erp.rub-emailing main>article ul.savedsearcheslist li.import, +body.erp.rub-emailing .popover ul.savedsearcheslist li:hover, +body.erp.rub-emailing .popover ul.savedsearcheslist li.import { + background-color: #ff6000; +} + +body.erp.rub-emailing main>article h2, +body.erp.rub-emailing main>article h3, +body.erp.rub-emailing main>article h4, +body.erp.rub-emailing main>article h5, +body.erp.rub-emailing main>article h6, +body.erp.rub-emailing .modal h2, +body.erp.rub-emailing .modal h3, +body.erp.rub-emailing .modal h4, +body.erp.rub-emailing .modal h5, +body.erp.rub-emailing .modal h6 { + color: #ff6000; +} + +body.erp.rub-emailing main>article h2 i svg use, +body.erp.rub-emailing main>article h3 i svg use, +body.erp.rub-emailing main>article h4 i svg use, +body.erp.rub-emailing main>article h5 i svg use, +body.erp.rub-emailing main>article h6 i svg use, +body.erp.rub-emailing .modal h2 i svg use, +body.erp.rub-emailing .modal h3 i svg use, +body.erp.rub-emailing .modal h4 i svg use, +body.erp.rub-emailing .modal h5 i svg use, +body.erp.rub-emailing .modal h6 i svg use { + stroke: #ff6000; +} + +body.erp.rub-emailing .modal a:not(.btn) { + color: #ff6000; +} + +body.erp.rub-emailing .loader>svg>circle { + stroke: #ff6000; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-emailing.reduced-menu-left nav.menu-left { + background: rgba(255, 96, 0, 0.6); + } +} + +body.erp.rub-statistiques { + /* Navigation par suivi scrolling */ + /* Liens */ + /* Titres */ + /* Loader circulaire */ + /* + .loader { + .spin { + &::before { + background: linear-gradient($value, $white 50%); + } + } + } + */ +} + +body.erp.rub-statistiques main>article, +body.erp.rub-statistiques .modal { + /* Formulaires */ +} + +body.erp.rub-statistiques main>article .form-control:focus, +body.erp.rub-statistiques main>article .custom-select:focus, +body.erp.rub-statistiques .modal .form-control:focus, +body.erp.rub-statistiques .modal .custom-select:focus { + box-shadow: 0 0 0 3px rgba(14, 183, 169, 0), 0 16px 44px rgba(14, 183, 169, 0.08), 0 0 0 3px rgba(14, 183, 169, 0.3), 0 8px 30px rgba(14, 183, 169, 0.12); +} + +body.erp.rub-statistiques main>article .form-control:focus.disabled, +body.erp.rub-statistiques main>article .custom-select:focus.disabled, +body.erp.rub-statistiques .modal .form-control:focus.disabled, +body.erp.rub-statistiques .modal .custom-select:focus.disabled { + box-shadow: none !important; +} + +body.erp.rub-statistiques main>article .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before, +body.erp.rub-statistiques .modal .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #0eb7a9 !important; + background-color: #0eb7a9 !important; +} + +body.erp.rub-statistiques main>article .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before, +body.erp.rub-statistiques .modal .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(14, 183, 169, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.erp.rub-statistiques main>article .bootstrap-select .dropdown-item:active, +body.erp.rub-statistiques main>article .bootstrap-select .dropdown-item.active, +body.erp.rub-statistiques main>article .bootstrap-select .dropdown-item.selected, +body.erp.rub-statistiques .modal .bootstrap-select .dropdown-item:active, +body.erp.rub-statistiques .modal .bootstrap-select .dropdown-item.active, +body.erp.rub-statistiques .modal .bootstrap-select .dropdown-item.selected { + background-color: #0eb7a9 !important; +} + +body.erp.rub-statistiques main>article { + /* Breadcrump */ + /* Onglets */ + /* Blocs sticky */ + /* Pagination */ + /* FCBKcomplete */ +} + +body.erp.rub-statistiques main>article .breadcrumb-item a:hover { + color: #0eb7a9 !important; +} + +body.erp.rub-statistiques main>article .nav .nav-item .nav-link.active, +body.erp.rub-statistiques main>article .nav .nav-item .nav-link:hover { + color: #0eb7a9; +} + +body.erp.rub-statistiques main>article .nav.nav-tabs .nav-item .nav-link::after { + background-color: #0eb7a9; +} + +body.erp.rub-statistiques main>article .nav.nav-pills .nav-item .nav-link.active { + background-color: #0eb7a9; +} + +body.erp.rub-statistiques main>article .sticky.sticky-bottom.is-stuck::before { + color: #0eb7a9; +} + +body.erp.rub-statistiques main>article .pagination .page-item.prev .page-link, +body.erp.rub-statistiques main>article .pagination .page-item.next .page-link { + color: #0eb7a9 !important; +} + +body.erp.rub-statistiques main>article .pagination .page-item.prev.disabled .page-link, +body.erp.rub-statistiques main>article .pagination .page-item.next.disabled .page-link { + color: rgba(14, 183, 169, 0.4) !important; +} + +body.erp.rub-statistiques main>article .pagination .page-item:not(.prev):not(.next) .page-link { + background-color: rgba(14, 183, 169, 0.5) !important; +} + +body.erp.rub-statistiques main>article .pagination .page-item:not(.prev):not(.next).active .page-link { + background-color: #0eb7a9 !important; +} + +body.erp.rub-statistiques main>article ul.holder li.bit-box { + background-color: rgba(14, 183, 169, 0.4); +} + +body.erp.rub-statistiques main>article .facebook-auto ul li.auto-focus { + background-color: #0eb7a9; +} + +body.erp.rub-statistiques main>article .facebook-auto ul li em { + background-color: rgba(14, 183, 169, 0.4); +} + +body.erp.rub-statistiques #scrollnav>div>nav a.nav-link.active { + color: #0eb7a9; +} + +body.erp.rub-statistiques #scrollnav>div>nav a.nav-link.active::before { + background-color: #0eb7a9; + box-shadow: 0 0 0 2px rgba(14, 183, 169, 0.2); +} + +body.erp.rub-statistiques main>article a:not(.btn), +body.erp.rub-statistiques .popover a:not(.btn) { + color: #0eb7a9; +} + +body.erp.rub-statistiques main>article ul.savedsearcheslist li:hover, +body.erp.rub-statistiques main>article ul.savedsearcheslist li.import, +body.erp.rub-statistiques .popover ul.savedsearcheslist li:hover, +body.erp.rub-statistiques .popover ul.savedsearcheslist li.import { + background-color: #0eb7a9; +} + +body.erp.rub-statistiques main>article h2, +body.erp.rub-statistiques main>article h3, +body.erp.rub-statistiques main>article h4, +body.erp.rub-statistiques main>article h5, +body.erp.rub-statistiques main>article h6, +body.erp.rub-statistiques .modal h2, +body.erp.rub-statistiques .modal h3, +body.erp.rub-statistiques .modal h4, +body.erp.rub-statistiques .modal h5, +body.erp.rub-statistiques .modal h6 { + color: #0eb7a9; +} + +body.erp.rub-statistiques main>article h2 i svg use, +body.erp.rub-statistiques main>article h3 i svg use, +body.erp.rub-statistiques main>article h4 i svg use, +body.erp.rub-statistiques main>article h5 i svg use, +body.erp.rub-statistiques main>article h6 i svg use, +body.erp.rub-statistiques .modal h2 i svg use, +body.erp.rub-statistiques .modal h3 i svg use, +body.erp.rub-statistiques .modal h4 i svg use, +body.erp.rub-statistiques .modal h5 i svg use, +body.erp.rub-statistiques .modal h6 i svg use { + stroke: #0eb7a9; +} + +body.erp.rub-statistiques .modal a:not(.btn) { + color: #0eb7a9; +} + +body.erp.rub-statistiques .loader>svg>circle { + stroke: #0eb7a9; +} + +@media (min-width: 992px) { + body.erp { + /* Fond menu gauche (réduit) */ + } + body.erp:not(.pinned-menu-left).rub-statistiques.reduced-menu-left nav.menu-left { + background: rgba(14, 183, 169, 0.6); + } +} + + +/* -------------------- Popover des recherches sauvegardées -------------------- */ + +ul.savedsearcheslist li { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + padding: .5em 0 .5em 1em; + transition: all 0.3s ease; +} + +ul.savedsearcheslist li:not(:last-child) { + border-bottom: 1px solid #e9ecef; +} + +ul.savedsearcheslist li a.item { + flex-grow: 1; + width: calc(100% - 34px); + line-height: 1rem; +} + +ul.savedsearcheslist li a.item small { + color: #adb5bd; +} + +ul.savedsearcheslist li a.delete { + flex: 0 0 34px; + transition: all 0.3s ease; + text-align: center; + opacity: .7; +} + +html.no-touchevents ul.savedsearcheslist li a.delete { + opacity: 0; +} + +ul.savedsearcheslist li:hover { + background-color: #3e64c1; +} + +ul.savedsearcheslist li:hover a, +ul.savedsearcheslist li:hover a small { + color: #fff !important; +} + +ul.savedsearcheslist li:hover a.delete { + opacity: .7 !important; + color: #fff !important; +} + +ul.savedsearcheslist li:hover a.delete:hover { + opacity: 1 !important; +} + +ul.savedsearcheslist li.import { + padding: .7em 1em; + background-color: #3e64c1; +} + +ul.savedsearcheslist li.import a { + flex-grow: 1; + width: 100%; + color: #fff !important; +} + + +/* -------------------- Popover du choix d'affichage des colonnes -------------------- */ + +.columnslist { + position: relative; +} + +.columnslist h6 { + width: calc(100% + 20px); + padding: .3em .8em; + margin: .4rem 0 .8rem -10px; + background-color: #f3f3f3; +} + +.columnslist label input:disabled+span { + opacity: .5; +} + +.columnslist label .custom-control-label { + font-size: .85rem !important; +} + + +/* -------------------- Popover des filtres sur liste de recherche -------------------- */ + +.filterslist { + position: relative; +} + +.filterslist a:not(.FilterCriteriaClear) { + display: block; + position: relative; + padding: 0 0 .7em 2em; + color: #495057 !important; +} + +.filterslist a:not(.FilterCriteriaClear) i { + position: absolute; + top: .2em; + left: .1em; +} + +.filterslist a:not(.FilterCriteriaClear) i::before, +.filterslist a:not(.FilterCriteriaClear) i::after { + color: #adb5bd; +} + +.filterslist a:not(.FilterCriteriaClear) i::before { + content: '\f111'; + opacity: .5; +} + +.filterslist a:not(.FilterCriteriaClear) i::after { + content: '\10f111'; + opacity: .3; +} + +.filterslist a:not(.FilterCriteriaClear).FilterCriteriaSelected { + color: #212529 !important; + text-decoration: none !important; + font-weight: bold; +} + +.filterslist a:not(.FilterCriteriaClear).FilterCriteriaSelected i::before, +.filterslist a:not(.FilterCriteriaClear).FilterCriteriaSelected i::after { + opacity: 1; +} + +.filterslist a:not(.FilterCriteriaClear).FilterCriteriaSelected i::before { + content: '\f058'; + color: #fff; +} + +.filterslist a:not(.FilterCriteriaClear).FilterCriteriaSelected i::after { + content: '\10f058'; + color: #74be4b; +} + +.filterslist a.FilterCriteriaClear { + position: relative; + padding: 0 0 0 1.75em; +} + +.filterslist a.FilterCriteriaClear i { + position: absolute; + top: .35em; + left: .25em; +} + +.filterslist a.FilterCriteriaClear span { + color: #343a40 !important; + font-size: 1.1em; + line-height: .9em; +} + + +/* -------------------- Popover de la bulle-info "co-auteurs" -------------------- */ + +.abstractcomment table thead th { + font-size: 1em; +} + +.flag { + width: 20px; +} + +.flag.flag_be { + width: 18px; +} + +.flag.flag_ch { + width: 15px; +} + +.flag.flag_mc { + width: 19px; +} + +.flag.flag_ne { + width: 18px; +} + +.flag.flag_np { + width: 13px; +} + +.flag.flag_va { + width: 15px; +} + +@media (-webkit-min-device-pixel-ratio: 2), +(min-resolution: 192dpi) { + .flag { + background-size: 5652px 15px; + } +} + +.flag.flag_ac { + height: 10px; + background-position: 0px 0px; +} + +.flag.flag_ad { + height: 14px; + background-position: -22px 0px; +} + +.flag.flag_ae { + height: 10px; + background-position: -44px 0px; +} + +.flag.flag_af { + height: 14px; + background-position: -66px 0px; +} + +.flag.flag_ag { + height: 14px; + background-position: -88px 0px; +} + +.flag.flag_ai { + height: 10px; + background-position: -110px 0px; +} + +.flag.flag_al { + height: 15px; + background-position: -132px 0px; +} + +.flag.flag_am { + height: 10px; + background-position: -154px 0px; +} + +.flag.flag_ao { + height: 14px; + background-position: -176px 0px; +} + +.flag.flag_aq { + height: 14px; + background-position: -198px 0px; +} + +.flag.flag_ar { + height: 13px; + background-position: -220px 0px; +} + +.flag.flag_as { + height: 10px; + background-position: -242px 0px; +} + +.flag.flag_at { + height: 14px; + background-position: -264px 0px; +} + +.flag.flag_au { + height: 10px; + background-position: -286px 0px; +} + +.flag.flag_aw { + height: 14px; + background-position: -308px 0px; +} + +.flag.flag_ax { + height: 13px; + background-position: -330px 0px; +} + +.flag.flag_az { + height: 10px; + background-position: -352px 0px; +} + +.flag.flag_ba { + height: 10px; + background-position: -374px 0px; +} + +.flag.flag_bb { + height: 14px; + background-position: -396px 0px; +} + +.flag.flag_bd { + height: 12px; + background-position: -418px 0px; +} + +.flag.flag_be { + height: 15px; + background-position: -440px 0px; +} + +.flag.flag_bf { + height: 14px; + background-position: -460px 0px; +} + +.flag.flag_bg { + height: 12px; + background-position: -482px 0px; +} + +.flag.flag_bh { + height: 12px; + background-position: -504px 0px; +} + +.flag.flag_bi { + height: 12px; + background-position: -526px 0px; +} + +.flag.flag_bj { + height: 14px; + background-position: -548px 0px; +} + +.flag.flag_bl { + height: 14px; + background-position: -570px 0px; +} + +.flag.flag_bm { + height: 10px; + background-position: -592px 0px; +} + +.flag.flag_bn { + height: 10px; + background-position: -614px 0px; +} + +.flag.flag_bo { + height: 14px; + background-position: -636px 0px; +} + +.flag.flag_bq { + height: 14px; + background-position: -658px 0px; +} + +.flag.flag_br { + height: 14px; + background-position: -680px 0px; +} + +.flag.flag_bs { + height: 10px; + background-position: -702px 0px; +} + +.flag.flag_bt { + height: 14px; + background-position: -724px 0px; +} + +.flag.flag_bv { + height: 15px; + background-position: -746px 0px; +} + +.flag.flag_bw { + height: 14px; + background-position: -768px 0px; +} + +.flag.flag_by { + height: 10px; + background-position: -790px 0px; +} + +.flag.flag_bz { + height: 14px; + background-position: -812px 0px; +} + +.flag.flag_ca { + height: 10px; + background-position: -834px 0px; +} + +.flag.flag_cc { + height: 10px; + background-position: -856px 0px; +} + +.flag.flag_cd { + height: 15px; + background-position: -878px 0px; +} + +.flag.flag_cf { + height: 14px; + background-position: -900px 0px; +} + +.flag.flag_cg { + height: 14px; + background-position: -922px 0px; +} + +.flag.flag_ch { + height: 15px; + background-position: -944px 0px; +} + +.flag.flag_ci { + height: 14px; + background-position: -961px 0px; +} + +.flag.flag_ck { + height: 10px; + background-position: -983px 0px; +} + +.flag.flag_cl { + height: 14px; + background-position: -1005px 0px; +} + +.flag.flag_cm { + height: 14px; + background-position: -1027px 0px; +} + +.flag.flag_cn { + height: 14px; + background-position: -1049px 0px; +} + +.flag.flag_co { + height: 14px; + background-position: -1071px 0px; +} + +.flag.flag_cp { + height: 14px; + background-position: -1093px 0px; +} + +.flag.flag_cr { + height: 12px; + background-position: -1115px 0px; +} + +.flag.flag_cu { + height: 10px; + background-position: -1137px 0px; +} + +.flag.flag_cv { + height: 12px; + background-position: -1159px 0px; +} + +.flag.flag_cw { + height: 14px; + background-position: -1181px 0px; +} + +.flag.flag_cx { + height: 10px; + background-position: -1203px 0px; +} + +.flag.flag_cy { + height: 14px; + background-position: -1225px 0px; +} + +.flag.flag_cz { + height: 14px; + background-position: -1247px 0px; +} + +.flag.flag_de { + height: 12px; + background-position: -1269px 0px; +} + +.flag.flag_dg { + height: 10px; + background-position: -1291px 0px; +} + +.flag.flag_dj { + height: 14px; + background-position: -1313px 0px; +} + +.flag.flag_dk { + height: 15px; + background-position: -1335px 0px; +} + +.flag.flag_dm { + height: 10px; + background-position: -1357px 0px; +} + +.flag.flag_do { + height: 14px; + background-position: -1379px 0px; +} + +.flag.flag_dz { + height: 14px; + background-position: -1401px 0px; +} + +.flag.flag_ea { + height: 14px; + background-position: -1423px 0px; +} + +.flag.flag_ec { + height: 14px; + background-position: -1445px 0px; +} + +.flag.flag_ee { + height: 13px; + background-position: -1467px 0px; +} + +.flag.flag_eg { + height: 14px; + background-position: -1489px 0px; +} + +.flag.flag_eh { + height: 10px; + background-position: -1511px 0px; +} + +.flag.flag_er { + height: 10px; + background-position: -1533px 0px; +} + +.flag.flag_es { + height: 14px; + background-position: -1555px 0px; +} + +.flag.flag_et { + height: 10px; + background-position: -1577px 0px; +} + +.flag.flag_eu { + height: 14px; + background-position: -1599px 0px; +} + +.flag.flag_fi { + height: 12px; + background-position: -1621px 0px; +} + +.flag.flag_fj { + height: 10px; + background-position: -1643px 0px; +} + +.flag.flag_fk { + height: 10px; + background-position: -1665px 0px; +} + +.flag.flag_fm { + height: 11px; + background-position: -1687px 0px; +} + +.flag.flag_fo { + height: 15px; + background-position: -1709px 0px; +} + +.flag.flag_fr { + height: 14px; + background-position: -1731px 0px; +} + +.flag.flag_ga { + height: 15px; + background-position: -1753px 0px; +} + +.flag.flag_gb { + height: 10px; + background-position: -1775px 0px; +} + +.flag.flag_gd { + height: 12px; + background-position: -1797px 0px; +} + +.flag.flag_ge { + height: 14px; + background-position: -1819px 0px; +} + +.flag.flag_gf { + height: 14px; + background-position: -1841px 0px; +} + +.flag.flag_gg { + height: 14px; + background-position: -1863px 0px; +} + +.flag.flag_gh { + height: 14px; + background-position: -1885px 0px; +} + +.flag.flag_gi { + height: 10px; + background-position: -1907px 0px; +} + +.flag.flag_gl { + height: 14px; + background-position: -1929px 0px; +} + +.flag.flag_gm { + height: 14px; + background-position: -1951px 0px; +} + +.flag.flag_gn { + height: 14px; + background-position: -1973px 0px; +} + +.flag.flag_gp { + height: 14px; + background-position: -1995px 0px; +} + +.flag.flag_gq { + height: 14px; + background-position: -2017px 0px; +} + +.flag.flag_gr { + height: 14px; + background-position: -2039px 0px; +} + +.flag.flag_gs { + height: 10px; + background-position: -2061px 0px; +} + +.flag.flag_gt { + height: 13px; + background-position: -2083px 0px; +} + +.flag.flag_gu { + height: 11px; + background-position: -2105px 0px; +} + +.flag.flag_gw { + height: 10px; + background-position: -2127px 0px; +} + +.flag.flag_gy { + height: 12px; + background-position: -2149px 0px; +} + +.flag.flag_hk { + height: 14px; + background-position: -2171px 0px; +} + +.flag.flag_hm { + height: 10px; + background-position: -2193px 0px; +} + +.flag.flag_hn { + height: 10px; + background-position: -2215px 0px; +} + +.flag.flag_hr { + height: 10px; + background-position: -2237px 0px; +} + +.flag.flag_ht { + height: 12px; + background-position: -2259px 0px; +} + +.flag.flag_hu { + height: 10px; + background-position: -2281px 0px; +} + +.flag.flag_ic { + height: 14px; + background-position: -2303px 0px; +} + +.flag.flag_id { + height: 14px; + background-position: -2325px 0px; +} + +.flag.flag_ie { + height: 10px; + background-position: -2347px 0px; +} + +.flag.flag_il { + height: 15px; + background-position: -2369px 0px; +} + +.flag.flag_im { + height: 10px; + background-position: -2391px 0px; +} + +.flag.flag_in { + height: 14px; + background-position: -2413px 0px; +} + +.flag.flag_io { + height: 10px; + background-position: -2435px 0px; +} + +.flag.flag_iq { + height: 14px; + background-position: -2457px 0px; +} + +.flag.flag_ir { + height: 12px; + background-position: -2479px 0px; +} + +.flag.flag_is { + height: 15px; + background-position: -2501px 0px; +} + +.flag.flag_it { + height: 14px; + background-position: -2523px 0px; +} + +.flag.flag_je { + height: 12px; + background-position: -2545px 0px; +} + +.flag.flag_jm { + height: 10px; + background-position: -2567px 0px; +} + +.flag.flag_jo { + height: 10px; + background-position: -2589px 0px; +} + +.flag.flag_jp { + height: 14px; + background-position: -2611px 0px; +} + +.flag.flag_ke { + height: 14px; + background-position: -2633px 0px; +} + +.flag.flag_kg { + height: 12px; + background-position: -2655px 0px; +} + +.flag.flag_kh { + height: 13px; + background-position: -2677px 0px; +} + +.flag.flag_ki { + height: 10px; + background-position: -2699px 0px; +} + +.flag.flag_km { + height: 12px; + background-position: -2721px 0px; +} + +.flag.flag_kn { + height: 14px; + background-position: -2743px 0px; +} + +.flag.flag_kp { + height: 10px; + background-position: -2765px 0px; +} + +.flag.flag_kr { + height: 14px; + background-position: -2787px 0px; +} + +.flag.flag_kw { + height: 10px; + background-position: -2809px 0px; +} + +.flag.flag_ky { + height: 10px; + background-position: -2831px 0px; +} + +.flag.flag_kz { + height: 10px; + background-position: -2853px 0px; +} + +.flag.flag_la { + height: 14px; + background-position: -2875px 0px; +} + +.flag.flag_lb { + height: 14px; + background-position: -2897px 0px; +} + +.flag.flag_lc { + height: 10px; + background-position: -2919px 0px; +} + +.flag.flag_li { + height: 12px; + background-position: -2941px 0px; +} + +.flag.flag_lk { + height: 10px; + background-position: -2963px 0px; +} + +.flag.flag_lr { + height: 11px; + background-position: -2985px 0px; +} + +.flag.flag_ls { + height: 14px; + background-position: -3007px 0px; +} + +.flag.flag_lt { + height: 12px; + background-position: -3029px 0px; +} + +.flag.flag_lu { + height: 12px; + background-position: -3051px 0px; +} + +.flag.flag_lv { + height: 10px; + background-position: -3073px 0px; +} + +.flag.flag_ly { + height: 10px; + background-position: -3095px 0px; +} + +.flag.flag_ma { + height: 14px; + background-position: -3117px 0px; +} + +.flag.flag_mc { + height: 15px; + background-position: -3139px 0px; +} + +.flag.flag_md { + height: 10px; + background-position: -3160px 0px; +} + +.flag.flag_me { + height: 10px; + background-position: -3182px 0px; +} + +.flag.flag_mf { + height: 14px; + background-position: -3204px 0px; +} + +.flag.flag_mg { + height: 14px; + background-position: -3226px 0px; +} + +.flag.flag_mh { + height: 11px; + background-position: -3248px 0px; +} + +.flag.flag_mk { + height: 10px; + background-position: -3270px 0px; +} + +.flag.flag_ml { + height: 14px; + background-position: -3292px 0px; +} + +.flag.flag_mm { + height: 14px; + background-position: -3314px 0px; +} + +.flag.flag_mn { + height: 10px; + background-position: -3336px 0px; +} + +.flag.flag_mo { + height: 14px; + background-position: -3358px 0px; +} + +.flag.flag_mp { + height: 10px; + background-position: -3380px 0px; +} + +.flag.flag_mq { + height: 14px; + background-position: -3402px 0px; +} + +.flag.flag_mr { + height: 14px; + background-position: -3424px 0px; +} + +.flag.flag_ms { + height: 10px; + background-position: -3446px 0px; +} + +.flag.flag_mt { + height: 14px; + background-position: -3468px 0px; +} + +.flag.flag_mu { + height: 14px; + background-position: -3490px 0px; +} + +.flag.flag_mv { + height: 14px; + background-position: -3512px 0px; +} + +.flag.flag_mw { + height: 14px; + background-position: -3534px 0px; +} + +.flag.flag_mx { + height: 12px; + background-position: -3556px 0px; +} + +.flag.flag_my { + height: 10px; + background-position: -3578px 0px; +} + +.flag.flag_mz { + height: 14px; + background-position: -3600px 0px; +} + +.flag.flag_na { + height: 14px; + background-position: -3622px 0px; +} + +.flag.flag_nc { + height: 10px; + background-position: -3644px 0px; +} + +.flag.flag_ne { + height: 15px; + background-position: -3666px 0px; +} + +.flag.flag_nf { + height: 10px; + background-position: -3686px 0px; +} + +.flag.flag_ng { + height: 10px; + background-position: -3708px 0px; +} + +.flag.flag_ni { + height: 12px; + background-position: -3730px 0px; +} + +.flag.flag_nl { + height: 14px; + background-position: -3752px 0px; +} + +.flag.flag_no { + height: 15px; + background-position: -3774px 0px; +} + +.flag.flag_np { + height: 15px; + background-position: -3796px 0px; +} + +.flag.flag_nr { + height: 10px; + background-position: -3811px 0px; +} + +.flag.flag_nu { + height: 10px; + background-position: -3833px 0px; +} + +.flag.flag_nz { + height: 10px; + background-position: -3855px 0px; +} + +.flag.flag_om { + height: 10px; + background-position: -3877px 0px; +} + +.flag.flag_pa { + height: 14px; + background-position: -3899px 0px; +} + +.flag.flag_pe { + height: 14px; + background-position: -3921px 0px; +} + +.flag.flag_pf { + height: 14px; + background-position: -3943px 0px; +} + +.flag.flag_pg { + height: 15px; + background-position: -3965px 0px; +} + +.flag.flag_ph { + height: 10px; + background-position: -3987px 0px; +} + +.flag.flag_pk { + height: 14px; + background-position: -4009px 0px; +} + +.flag.flag_pl { + height: 13px; + background-position: -4031px 0px; +} + +.flag.flag_pm { + height: 14px; + background-position: -4053px 0px; +} + +.flag.flag_pn { + height: 10px; + background-position: -4075px 0px; +} + +.flag.flag_pr { + height: 14px; + background-position: -4097px 0px; +} + +.flag.flag_ps { + height: 10px; + background-position: -4119px 0px; +} + +.flag.flag_pt { + height: 14px; + background-position: -4141px 0px; +} + +.flag.flag_pw { + height: 13px; + background-position: -4163px 0px; +} + +.flag.flag_py { + height: 11px; + background-position: -4185px 0px; +} + +.flag.flag_qa { + height: 8px; + background-position: -4207px 0px; +} + +.flag.flag_re { + height: 14px; + background-position: -4229px 0px; +} + +.flag.flag_ro { + height: 14px; + background-position: -4251px 0px; +} + +.flag.flag_rs { + height: 14px; + background-position: -4273px 0px; +} + +.flag.flag_ru { + height: 14px; + background-position: -4295px 0px; +} + +.flag.flag_rw { + height: 14px; + background-position: -4317px 0px; +} + +.flag.flag_sa { + height: 14px; + background-position: -4339px 0px; +} + +.flag.flag_sb { + height: 10px; + background-position: -4361px 0px; +} + +.flag.flag_sc { + height: 10px; + background-position: -4383px 0px; +} + +.flag.flag_sd { + height: 10px; + background-position: -4405px 0px; +} + +.flag.flag_se { + height: 13px; + background-position: -4427px 0px; +} + +.flag.flag_sg { + height: 14px; + background-position: -4449px 0px; +} + +.flag.flag_sh { + height: 10px; + background-position: -4471px 0px; +} + +.flag.flag_si { + height: 10px; + background-position: -4493px 0px; +} + +.flag.flag_sj { + height: 15px; + background-position: -4515px 0px; +} + +.flag.flag_sk { + height: 14px; + background-position: -4537px 0px; +} + +.flag.flag_sl { + height: 14px; + background-position: -4559px 0px; +} + +.flag.flag_sm { + height: 15px; + background-position: -4581px 0px; +} + +.flag.flag_sn { + height: 14px; + background-position: -4603px 0px; +} + +.flag.flag_so { + height: 14px; + background-position: -4625px 0px; +} + +.flag.flag_sr { + height: 14px; + background-position: -4647px 0px; +} + +.flag.flag_ss { + height: 10px; + background-position: -4669px 0px; +} + +.flag.flag_st { + height: 10px; + background-position: -4691px 0px; +} + +.flag.flag_sv { + height: 12px; + background-position: -4713px 0px; +} + +.flag.flag_sx { + height: 14px; + background-position: -4735px 0px; +} + +.flag.flag_sy { + height: 14px; + background-position: -4757px 0px; +} + +.flag.flag_sz { + height: 14px; + background-position: -4779px 0px; +} + +.flag.flag_ta { + height: 10px; + background-position: -4801px 0px; +} + +.flag.flag_tc { + height: 10px; + background-position: -4823px 0px; +} + +.flag.flag_td { + height: 14px; + background-position: -4845px 0px; +} + +.flag.flag_tf { + height: 14px; + background-position: -4867px 0px; +} + +.flag.flag_tg { + height: 13px; + background-position: -4889px 0px; +} + +.flag.flag_th { + height: 14px; + background-position: -4911px 0px; +} + +.flag.flag_tj { + height: 10px; + background-position: -4933px 0px; +} + +.flag.flag_tk { + height: 10px; + background-position: -4955px 0px; +} + +.flag.flag_tl { + height: 10px; + background-position: -4977px 0px; +} + +.flag.flag_tm { + height: 14px; + background-position: -4999px 0px; +} + +.flag.flag_tn { + height: 14px; + background-position: -5021px 0px; +} + +.flag.flag_to { + height: 10px; + background-position: -5043px 0px; +} + +.flag.flag_tr { + height: 14px; + background-position: -5065px 0px; +} + +.flag.flag_tt { + height: 12px; + background-position: -5087px 0px; +} + +.flag.flag_tv { + height: 10px; + background-position: -5109px 0px; +} + +.flag.flag_tw { + height: 14px; + background-position: -5131px 0px; +} + +.flag.flag_tz { + height: 14px; + background-position: -5153px 0px; +} + +.flag.flag_ua { + height: 14px; + background-position: -5175px 0px; +} + +.flag.flag_ug { + height: 14px; + background-position: -5197px 0px; +} + +.flag.flag_um { + height: 11px; + background-position: -5219px 0px; +} + +.flag.flag_un { + height: 14px; + background-position: -5241px 0px; +} + +.flag.flag_us { + height: 11px; + background-position: -5263px 0px; +} + +.flag.flag_uy { + height: 14px; + background-position: -5285px 0px; +} + +.flag.flag_uz { + height: 10px; + background-position: -5307px 0px; +} + +.flag.flag_va { + height: 15px; + background-position: -5329px 0px; +} + +.flag.flag_vc { + height: 14px; + background-position: -5346px 0px; +} + +.flag.flag_ve { + height: 14px; + background-position: -5368px 0px; +} + +.flag.flag_vg { + height: 10px; + background-position: -5390px 0px; +} + +.flag.flag_vi { + height: 14px; + background-position: -5412px 0px; +} + +.flag.flag_vn { + height: 14px; + background-position: -5434px 0px; +} + +.flag.flag_vu { + height: 12px; + background-position: -5456px 0px; +} + +.flag.flag_wf { + height: 14px; + background-position: -5478px 0px; +} + +.flag.flag_ws { + height: 10px; + background-position: -5500px 0px; +} + +.flag.flag_xk { + height: 15px; + background-position: -5522px 0px; +} + +.flag.flag_ye { + height: 14px; + background-position: -5544px 0px; +} + +.flag.flag_yt { + height: 14px; + background-position: -5566px 0px; +} + +.flag.flag_za { + height: 14px; + background-position: -5588px 0px; +} + +.flag.flag_zm { + height: 14px; + background-position: -5610px 0px; +} + +.flag.flag_zw { + height: 10px; + background-position: -5632px 0px; +} + +.flag { + display: inline-block; + height: 15px; + box-shadow: 0px 0px 1px 0px #888; + background-image: url("../images/flags.png"); + background-repeat: no-repeat; + background-color: #DBDBDB; + background-position: 20px 0; +} + +@media (-webkit-min-device-pixel-ratio: 2), +(min-resolution: 192dpi) { + .flag { + background-image: url("../images/flags%402x.png"); + } +} + +.flag.flag_np { + background-color: transparent; +} + + +/* -------------------- Bottom actions -------------------- */ + +.bottom-actions { + z-index: 1021; + bottom: -150px; + width: 100%; + margin-left: 0; + box-shadow: 0 0 10px rgba(0, 0, 0, 0); + white-space: nowrap; +} + +.bottom-actions>* { + opacity: 1; + transition: all 0.3s ease; +} + +.bottom-actions.is-stuck { + width: calc(100% + 60px); + margin-left: -30px; + background-color: #fff; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.14); + transition: all 0.6s ease 0.3s; +} + +body.hideheader .bottom-actions.is-stuck { + bottom: 0; +} + +body.noiOSbottombar .bottom-actions.is-stuck { + bottom: -34px; +} + +body.noiOSbottombar .bottom-actions.is-stuck::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + content: '\f058'; + top: 3px; + left: 60px; + width: 20px; + color: #3e64c1; + text-align: center; + font-family: 'Font Awesome 5 Pro'; + font-size: 1.3rem; + font-weight: 700; +} + +body.noiOSbottombar .bottom-actions.is-stuck>* { + opacity: 0; +} + +body:not(.hideheader) .bottom-actions.is-stuck { + transform: translateY(100%); +} + +body.hideheader .bottom-actions { + transition: all 0.6s ease, transform 0.6s ease; +} + +aside.persistent+.sidelist-detail .bottom-actions.is-stuck { + width: calc(100% + 130px); + margin-left: -40px; +} + +body.show-sidelist aside.persistent+.sidelist-detail .bottom-actions.is-stuck { + width: calc(100% + 110px); + margin-left: -40px; +} + +.bottom-actions .btn { + min-height: 52px; + color: #495057; + font-size: 1.15em !important; + letter-spacing: 0 !important; + background-color: #fff; + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1) !important; +} + +.bottom-actions .btn>span { + margin-top: -3px !important; +} + +.bottom-actions .btn:not(:first-child) { + border-left: 1px solid #ececec; +} + +.bottom-actions .btn:hover { + color: #212529; +} + +.bottom-actions .flickity-slider>div:first-child { + padding: .6em 0; +} + +.bottom-actions.is-stuck .flickity-slider>div:first-child { + padding: .6em 1.6em; +} + +body.eltsparams.show-sidelist .bottom-actions.is-stuck .flickity-slider>div:first-child { + padding: .6em 3em; +} + +.bottom-actions.is-stuck .flickity-slider>div:first-child .btn { + box-shadow: none !important; +} + +@media (min-width: 576px) { + .bottom-actions.sticky-bottom.is-stuck { + width: calc(100% + 120px); + margin-left: -60px; + } +} + +@media (min-width: 992px) { + .bottom-actions .flickity-slider>div:first-child { + padding: 1em 0; + } + .bottom-actions.sticky-bottom.is-stuck { + bottom: 0 !important; + transform: translateY(0) !important; + background-color: #fff; + box-shadow: 0 -1px 0 rgba(94, 94, 94, 0.14); + } + .bottom-actions.sticky-bottom.is-stuck .flickity-slider>div:first-child { + padding: 1em 4.2em; + } + body.eltsparams.show-sidelist .bottom-actions.sticky-bottom.is-stuck .flickity-slider>div:first-child { + padding: 1em 3em; + } + aside.persistent+.sidelist-detail .bottom-actions.sticky-bottom.is-stuck .flickity-slider>div:first-child { + padding: 1em 3em; + } +} + + +/* -------------------- Page specific -------------------- */ + + +/* -------------------- Page "Login" -------------------- */ + +body.login::after { + animation: kenburns-top 30s ease-out both; +} + +body.login .wrapper { + max-width: 660px; + min-height: 100vh; + align-items: center; + justify-content: center; + padding: 30px 0; + margin-left: auto; + margin-right: auto; +} + +body.login header { + position: relative; + justify-content: center; + height: 100px; + background-color: transparent; + box-shadow: none; + margin: 0; + padding: 0; +} + +body.login header svg.logo { + width: 230px; + height: auto; + animation: fade-in 1.4s ease-out both; +} + +body.login .lang-selector { + align-self: flex-end; + margin: 0 30px 1rem 30px; +} + +body.login .lang-selector li { + animation: zoom-in .3s ease-out .8s both; +} + +body.login .card { + z-index: 1; + padding: 32px 35px; + margin: 0 30px; + animation: slide-in-elliptic-top-fwd 0.7s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s both; +} + +body.login .card.haserror { + animation: shake-horizontal .8s both; +} + +body.login .card h2 { + font-size: 1.8rem; +} + +body.login svg.logo-bg { + position: fixed; + bottom: 0; + left: 60%; + width: 670px; + opacity: .08; +} + +body.login svg.logo-bg use { + transform-origin: 50% 0; + transform: scale(1.35); +} + +@media (min-width: 576px) { + body.login .wrapper { + padding: 60px 0 160px 0; + } + body.login header { + margin: 0 0 40px 0; + } + body.login header svg.logo { + width: 340px; + } + body.login footer { + position: fixed; + bottom: 0; + left: 0; + } +} + +@media (min-width: 768px) { + body.login .card { + padding: 60px; + } +} + + +/* -------------------- Page "Erreur" -------------------- */ + +body.error { + background: linear-gradient(to bottom, #f1f1f1 0, #fff 100%) top center no-repeat; +} + +body.error .wrapper .page { + margin: 0 30px; +} + +body.error .wrapper .page .content { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + min-height: calc(100vh - 100px - 8rem); + margin: 4rem 0; + text-align: center; +} + +body.error .wrapper .page .content object { + max-width: 320px; + margin: 0 auto; +} + +body.error .wrapper .page .content h1 { + margin: 1.2rem 0 2.8rem; + color: #e8192c; + font-size: 1.85rem; +} + +body.error .wrapper .page .content h1 strong { + display: block; + margin: 0; + font-size: 4rem; + letter-spacing: -.02em; +} + +body.error .wrapper .page .content dl { + text-align: left; +} + +body.error .wrapper .page .content dl dt { + margin-bottom: .3rem; + color: #939393; + font-weight: normal; +} + +body.error .wrapper .page .content span.version { + display: inline-block; + margin-top: 2rem; + padding: .15rem .5rem; + color: #fff; + font-size: .9rem; + text-align: left; + background-color: #0b3c6e; +} + +body.error .wrapper .page footer { + background: none; + padding: 20px 0; +} + +body.error .wrapper .page footer>svg { + display: block; + height: 54px; + margin: 0 auto; +} + +body.error .wrapper svg.logo-bg { + position: fixed; + bottom: 0; + left: 60%; + width: 670px; + opacity: .08; +} + +body.error .wrapper svg.logo-bg use { + transform-origin: 50% 0; + transform: scale(1.35); +} + +@media (min-width: 576px) { + body.error .wrapper .page { + margin: 0 60px; + } + body.error .wrapper .page .content { + text-align: left; + } + body.error .wrapper .page .content object { + max-width: unset; + margin-left: -70px; + } + body.error .wrapper .page .content h1 strong { + margin: 0 0 -.1em -.05em; + font-size: 5.4rem; + } + body.error .wrapper .page footer>svg { + margin: 0; + } +} + +@media (min-width: 768px) { + body.error .wrapper .page { + margin: 0 100px; + } +} + +@media (min-width: 992px) { + body.error .wrapper .page .content dl dt, + body.error .wrapper .page .content dl dd { + float: left; + } + body.error .wrapper .page .content dl dt { + width: 140px; + } + body.error .wrapper .page .content dl dd { + width: calc(100% - 140px); + } +} + +@media (min-width: 1200px) { + body.error .wrapper .page { + margin: 0 200px; + } +} + + +/* -------------------- Page "Mes services" -------------------- */ + +body.esp-cl ul.tiles>li { + display: flex; +} + +body.esp-cl ul.tiles>li section { + display: flex; + flex-direction: column; + flex: 1; + align-items: stretch; + padding: 20px; +} + +body.esp-cl ul.tiles>li section>div { + display: flex; + flex: 1; + padding: 0; +} + +body.esp-cl ul.tiles>li section>div .row { + flex: 1; +} + +body.esp-cl ul.tiles>li section h3 { + font-family: "Arquitecta-regular", Sans-serif; + margin-left: 24px; +} + +body.esp-cl ul.tiles>li section h3 strong { + font-family: "Arquitecta-heavy", Sans-serif; +} + +body.esp-cl ul.tiles>li section .isflickity .flickity-viewport { + height: 360px !important; +} + +body.esp-cl ul.tiles>li section .isflickity .flickity-prev-next-button { + color: #fff !important; +} + +body.esp-cl ul.tiles>li section .card { + padding: 0; + background-color: transparent; + box-shadow: none; + height: 100%; +} + +body.esp-cl ul.tiles>li section .card a { + display: inline-block; + height: 100%; + margin: 3px; + padding: 24px 24px 12px 24px; + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.25) 100%); + background-color: rgba(255, 255, 255, 0); + transition: all 0.3s ease; +} + +body.esp-cl ul.tiles>li section .card a .picto { + display: block; + position: relative; + margin-bottom: 16px; + transition: all 0.6s ease; +} + +html:not(.touchevents) body.esp-cl ul.tiles>li section .card a .picto { + opacity: .75; +} + +body.esp-cl ul.tiles>li section .card a .picto svg { + position: relative; + z-index: 2; + width: 100%; + transition: all 0.6s ease; +} + +body.esp-cl ul.tiles>li section .card a .picto.picto-md svg { + max-width: 160px; +} + +body.esp-cl ul.tiles>li section .card a .picto.picto-lg svg { + max-width: 200px; +} + +body.esp-cl ul.tiles>li section .card a .picto::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + z-index: 1; + left: 50%; + bottom: 0; + margin-left: -70px; + width: 140px; + height: 40px; + opacity: .12; + background: radial-gradient(ellipse at center, black 0%, rgba(0, 0, 0, 0) 70%) center center no-repeat; + background-size: cover; + transition: all 0.6s ease; +} + +body.esp-cl ul.tiles>li section .card a p { + font-size: .95rem; +} + +body.esp-cl ul.tiles>li section .card a:hover { + background-color: rgba(255, 255, 255, 0.15); +} + +body.esp-cl ul.tiles>li section .card a:hover .picto { + opacity: 1 !important; +} + +body.esp-cl ul.tiles>li section .card a:hover .picto svg { + transform: translateY(-8px); +} + +body.esp-cl ul.tiles>li section .card a:hover .picto::after { + opacity: .18; +} + +body.esp-cl ul.tiles>li section .card a:hover p { + opacity: 1; +} + +@media (min-width: 1660px) { + body.esp-cl ul.tiles li.online { + flex: 0 0 42%; + max-width: 42%; + } + body.esp-cl ul.tiles li.onsite { + flex: 0 0 58%; + max-width: 58%; + } +} + + +/* -------------------- Page "Gestion d'évènement" -------------------- */ + +body.event-mng .lastreg .title small { + color: #737373; + font-family: "Arquitecta-regular", Sans-serif; + font-size: 1.15rem; + text-transform: uppercase; +} + +body.event-mng .lastreg ul li a { + padding-top: 12px !important; + padding-bottom: 10px !important; + display: block; + transition: all 0.15s ease; +} + +body.event-mng .lastreg ul li a i { + position: absolute; + top: 8px; +} + +body.event-mng .lastreg ul li a h5, +body.event-mng .lastreg ul li a span { + padding-left: 44px; + transition: all 0.15s ease; +} + +body.event-mng .lastreg ul li a h5 { + font-family: "Arquitecta-bold", Sans-serif; +} + +body.event-mng .lastreg ul li a span { + display: inline-block; + font-size: .85em; +} + +body.event-mng .lastreg ul li a:hover { + background-color: #f8f8f8; +} + +body.event-mng .lastreg ul li a:hover svg { + opacity: 1; +} + +body.event-mng .lastreg ul li a:hover svg use { + fill: #3e64c1; + stroke: #3e64c1; +} + +body.event-mng .lastreg ul li a:hover h5, +body.event-mng .lastreg ul li a:hover span { + color: #3e64c1 !important; +} + +body.event-mng .RadCalendar { + width: 100%; + max-width: 94%; +} + +body.event-mng .alertes { + position: relative; +} + +body.event-mng .alertes i { + position: absolute; + top: 10px; + right: 10px; +} + +body.event-mng .alertes h3 { + font-size: 2rem; +} + +body.event-mng .alertes h3 small { + color: #adadad; + font-family: "Arquitecta-regular", Sans-serif; + font-size: .6em; +} + +body.event-mng .alertes h3 big { + font-size: 2.2em; + letter-spacing: -.02em; + line-height: 3.5rem; +} + +body.event-mng .alertes .content { + position: relative; + padding-top: 26px !important; +} + +body.event-mng .alertes .content small { + bottom: 20px; + font-family: "Arquitecta-bold", Sans-serif; + font-size: 1rem; + letter-spacing: .04em; + line-height: 1.2rem; +} + +body.event-mng .alertes .content::before { + display: block; + position: absolute; + content: ''; + z-index: 1; + top: 0; + left: 50%; + margin-left: -11px; + width: 0; + height: 0; + border-style: solid; + border-width: 11px 11px 0 11px; + border-color: #fff transparent transparent transparent; +} + +body.event-mng .upcoming, +body.event-mng .stats { + padding-top: 25px !important; + padding-bottom: 25px !important; +} + +body.event-mng .upcoming:hover i, +body.event-mng .stats:hover i { + opacity: 1; +} + +body.event-mng .upcoming h4 { + font-size: 1.3rem; +} + +body.event-mng .upcoming h4 small { + font-family: "Arquitecta-regular", Sans-serif; + font-size: .8em; +} + +body.event-mng .upcoming .date { + font-family: "Arquitecta-regular", Sans-serif; + font-size: 1.3em; + letter-spacing: .04em; + line-height: 2rem; +} + +body.event-mng .upcoming .date strong { + font-size: 2em; +} + +body.event-mng .stats:hover i { + opacity: 1; +} + +body.event-mng .search-events .form-group:nth-child(1) { + width: 100%; +} + +body.event-mng .search-events .form-group:nth-child(2) { + width: calc(40% - 2px); +} + +body.event-mng .search-events .form-group:nth-child(3) { + width: calc(60% - 2px); +} + +body.event-mng .search-events a#ClearFilterSearchEvents { + width: 44px; +} + +body.event-mng .results th.ref, +body.event-mng .results th.lieu, +body.event-mng .results td.ref, +body.event-mng .results td.lieu { + display: none; +} + +body.event-mng .results tbody .libelle { + position: relative; + color: #3e64c1; +} + +body.event-mng .results tbody .libelle::after { + display: block; + position: relative; + content: attr(data-ref) "\a" attr(data-lieu); + margin: 4px 0; + color: #333; + font-size: .85em; + opacity: .5; + white-space: pre; +} + +body.event-mng .results tbody .date { + min-width: 120px; + font-size: .9em; +} + +@media (min-width: 576px) { + body.event-mng .search-events .form-group:nth-child(2) { + width: calc(40% - 24px); + } + body.event-mng .search-events .form-group:nth-child(3) { + width: calc(60% - 24px); + } +} + +@media (min-width: 768px) { + body.event-mng .search-events .form-group:nth-child(1) { + width: calc(100% - 320px - 54px); + } + body.event-mng .search-events .form-group:nth-child(2) { + width: 140px; + } + body.event-mng .search-events .form-group:nth-child(3) { + width: 180px; + } + body.event-mng .results th.ref, + body.event-mng .results th.lieu, + body.event-mng .results td.ref, + body.event-mng .results td.lieu { + display: table-cell; + } + body.event-mng .results tbody .libelle { + color: inherit; + } + body.event-mng .results tbody .libelle::after { + display: none; + } +} + +@media (min-width: 1440px) { + body.event-mng .alertes i { + top: 16px; + right: 16px; + } +} + + +/* -------------------- Tableau de bord -------------------- */ + +body.dashboard article aside .expandable { + position: relative; + max-height: 260px; + overflow: hidden; +} + +body.dashboard article aside .expandable.showall { + max-height: initial; + padding-bottom: 40px !important; + overflow: visible; +} + +body.dashboard article aside .expandable.showall .toggle-fullH { + height: 30px; + padding-top: 2px; + background: none; +} + +body.dashboard article aside .expandable.showall .toggle-fullH span::before { + display: inline; +} + +body.dashboard article aside .expandable.showall .toggle-fullH span::after { + display: none; +} + +body.dashboard article aside .toggle-fullH { + display: block; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 80px; + padding-top: 52px; + font-family: "Arquitecta-bold", Sans-serif; + font-size: .9rem; + background-color: rgba(255, 255, 255, 0.95); + background: linear-gradient(0deg, #fff 0%, #fff 50%, rgba(255, 255, 255, 0) 100%); +} + +body.dashboard article aside .toggle-fullH span { + border: 1px solid #e7e7e7; +} + +body.dashboard article aside .toggle-fullH span::before { + display: none; + content: attr(data-text-less); +} + +body.dashboard article aside .toggle-fullH span::after { + display: inline; + content: attr(data-text-more); +} + +body.dashboard article aside .upcoming dt span { + font-size: .95em; + padding-top: 2px; + padding-bottom: 2px; +} + +body.dashboard article aside .reportings ul li { + position: relative; + transition: all 0.3s ease; +} + +body.dashboard article aside .reportings ul li:hover { + background-color: rgba(0, 0, 0, 0.04); +} + +body.dashboard article aside .reportings ul li:hover a.directlink { + opacity: 1 !important; +} + +body.dashboard article aside .reportings ul li:not(:first-child) { + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +body.dashboard article aside .reportings ul li:not(.checkbox) { + padding-left: 32px !important; + padding-right: 10px !important; +} + +body.dashboard article aside .reportings ul li:not(.checkbox) a { + width: 100% !important; +} + +body.dashboard article aside .reportings ul li a:not(.directlink) { + width: calc(100% - 60px); + padding: 10px 0 12px 38px; +} + +body.dashboard article aside .reportings ul li a:not(.directlink) i { + position: absolute; + margin-top: -2px; + margin-left: -32px; +} + +body.dashboard article aside .reportings ul li a:not(.directlink) i:not(.icon) { + width: 28px; + height: 28px; + margin-top: 3px; + text-align: center; +} + +body.dashboard article aside .reportings ul li a.directlink { + position: absolute; + top: 4px; + right: 6px; + transition: all 0.3s ease; +} + +html.no-touchevents body.dashboard article aside .reportings ul li a.directlink { + opacity: 0; +} + +body.dashboard article aside .alerts ul li { + position: relative; + border-left: 2px solid #bababa; + transition: all 0.3s ease; +} + +body.dashboard article aside .alerts ul li:not(:first-child) { + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +body.dashboard article aside .alerts ul li:nth-child(odd) { + background-color: #f3f3f3; +} + +body.dashboard article aside .alerts ul li:nth-child(even) { + background-color: #f9f9f9; +} + +body.dashboard article aside .alerts ul li:hover { + border-left: 2px solid #777; + background-color: #e7e7e7; +} + +body.dashboard article aside .alerts ul li:hover a { + color: #333 !important; +} + +body.dashboard article aside .alerts ul li a:not(.endtask) { + width: calc(100% - 40px); +} + +body.dashboard article aside .alerts ul li a.endtask { + position: absolute; + top: 8px; + right: 8px; +} + +body.dashboard article aside .alerts ul li.missed { + border-left: 2px solid #ff6000; + background-color: rgba(255, 96, 0, 0.15); +} + +body.dashboard article aside .alerts ul li.missed a, +body.dashboard article aside .alerts ul li.missed span { + color: #ff6000 !important; +} + +body.dashboard article>div #stats-tiles ul li { + color: #fff; + overflow: hidden; + transition: background-color 0.3s ease; +} + +body.dashboard article>div #stats-tiles ul li:hover a.edit, +html:not(.no-touchevents) body.dashboard article>div #stats-tiles ul li a.edit { + opacity: 1; +} + +body.dashboard article>div #stats-tiles ul li.editing .edit { + display: none; +} + +body.dashboard article>div #stats-tiles ul li.editing .remove { + display: block; +} + +body.dashboard article>div #stats-tiles ul li.editing .order { + display: flex; +} + +body.dashboard article>div #stats-tiles ul li.editing .data { + display: none; +} + +body.dashboard article>div #stats-tiles ul li#tile-configurator { + border: 2px dashed rgba(255, 255, 255, 0.7); +} + +body.dashboard article>div #stats-tiles ul li#tile-configurator a.edit, +body.dashboard article>div #stats-tiles ul li#tile-configurator a.remove, +body.dashboard article>div #stats-tiles ul li#tile-configurator a.content { + display: none; +} + +body.dashboard article>div #stats-tiles ul li .content big { + display: block; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 5rem; + line-height: 5rem; +} + +body.dashboard article>div #stats-tiles ul li .configurator.add-tile .order { + display: none; +} + +body.dashboard article>div #stats-tiles ul li .configurator.add-tile .data { + display: flex; +} + +body.dashboard article>div #stats-tiles ul li .configurator .form-group { + position: relative; + z-index: 3; +} + +body.dashboard article>div #stats-tiles ul li .configurator .validate { + position: absolute; + bottom: 0; + left: 15px; + width: 100%; + background-color: rgba(0, 0, 0, 0.3); +} + +body.dashboard article>div #stats-tiles ul li a.edit, +body.dashboard article>div #stats-tiles ul li a.remove { + position: absolute; + z-index: 3; +} + +body.dashboard article>div #stats-tiles ul li a.edit { + top: 8px; + right: 8px; + opacity: 0; +} + +body.dashboard article>div #stats-tiles ul li a.remove { + display: none; + top: 12px; + right: 12px; +} + +body.dashboard article>div #stats-tiles ul li a.content { + display: inline-block; + position: relative; + z-index: 2; + color: #fff; +} + +body.dashboard article>div #stats-tiles ul li>i { + position: absolute; + z-index: 1; + bottom: 20px; + right: -5px; + color: #fff; + font-size: 7rem; + opacity: .25; +} + +body.dashboard article>div #stats-tiles ul a#addtile { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + width: 175px; + border: 2px dashed rgba(0, 0, 0, 0.12); + transition: all 0.3s ease; +} + +body.dashboard article>div #stats-tiles ul a#addtile:hover { + border-color: rgba(0, 0, 0, 0.3); +} + +body.dashboard article>div .stats-reg .status ul li { + position: relative; +} + +body.dashboard article>div .stats-reg .status ul li:not(:first-child) { + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +body.dashboard article>div .stats-reg .status ul li a { + position: relative; +} + +body.dashboard article>div .stats-reg .status ul li a:not(.emailing) { + position: relative; + width: calc(100% - 40px); + padding-left: 50px; +} + +body.dashboard article>div .stats-reg .status ul li a:not(.emailing) i { + position: absolute; + top: calc(50% - 14px); + left: 0; + width: 40px; + height: 40px; +} + +body.dashboard article>div .stats-reg .status ul li a:not(.emailing) strong { + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 2rem; + line-height: 1.8rem; +} + +body.dashboard article>div .stats-reg .status ul li a:not(.emailing) strong span { + position: relative; + top: -1px; + font-family: "Arquitecta-bold", Sans-serif; + font-size: .7em; +} + +body.dashboard article>div .stats-reg .status ul li a.emailing { + position: absolute; + top: calc(50% - 14px); + width: 40px; + height: 40px; +} + +body.dashboard article>div .stats-reg .general ul li { + background-color: #f1f1f1; +} + +body.dashboard article>div .stats-reg .general ul li:not(:last-child) { + border-right: 1px solid #f8f8f8; + border-bottom: 1px solid #f8f8f8; +} + +body.dashboard article>div .stats-reg .general ul li a { + position: absolute; + top: 10px; +} + +body.dashboard article>div .stats-reg .general ul li a.detail-xls { + left: 10px; +} + +body.dashboard article>div .stats-reg .general ul li a.detail { + right: 10px; + transform: scale(1.2); +} + +body.dashboard article>div .stats-reg .general ul li big { + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 2.9rem; + line-height: 3rem; +} + +body.dashboard article>div .stats-acc .k-chart { + position: relative; +} + +body.dashboard article>div .stats-acc .k-chart>div { + position: absolute; + top: 110px; + left: calc(50% - 120px); + width: 240px; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 5rem; + line-height: .8em; +} + +body.dashboard article>div .stats-acc .k-chart>div small { + position: relative; + top: -30px; + font-family: "Arquitecta-regular", Sans-serif; + font-size: 1.3rem; +} + +body.dashboard article>div .stats-acc dl dt { + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 2rem; + line-height: 1.8rem; +} + +body.dashboard article>div .stats-pay table { + font-size: 12px; +} + +body.dashboard article>div .stats-pay table th, +body.dashboard article>div .stats-pay table td { + padding: .75rem .5rem; +} + +body.dashboard article>div .stats-pay table th:first-child { + position: relative; + display: block; + position: absolute; + width: calc(100% - 2.6rem); + height: 40px; + padding-left: 2.4rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +body.dashboard article>div .stats-pay table .type { + min-width: 70px; +} + +body.dashboard article>div .stats-pay table .qty { + min-width: 110px; + padding-left: 1.15rem; +} + +body.dashboard article>div .stats-pay table .qty span { + display: block; + font-size: .9rem; +} + +body.dashboard article>div .stats-pay table .total-ht, +body.dashboard article>div .stats-pay table .total-ttc { + width: 160px; + text-align: right; + line-height: 1.2rem; +} + +body.dashboard article>div .stats-pay table .total-ht span, +body.dashboard article>div .stats-pay table .total-ttc span { + display: block; +} + +body.dashboard article>div .stats-pay table .level-0, +body.dashboard article>div .stats-pay table .level-1 { + height: 70px; +} + +body.dashboard article>div .stats-pay table .level-0.level-0, +body.dashboard article>div .stats-pay table .level-1.level-0 { + color: #fff; + border: 2px solid #7f8599; + background-color: #7f8599; +} + +body.dashboard article>div .stats-pay table .level-0 th, +body.dashboard article>div .stats-pay table .level-0 td, +body.dashboard article>div .stats-pay table .level-1 th, +body.dashboard article>div .stats-pay table .level-1 td { + vertical-align: bottom; +} + +body.dashboard article>div .stats-pay table .level-0 th:first-child, +body.dashboard article>div .stats-pay table .level-1 th:first-child { + padding-right: 2.6rem; +} + +body.dashboard article>div .stats-pay table .level-0 th:first-child::before, +body.dashboard article>div .stats-pay table .level-1 th:first-child::before { + position: absolute; + left: 15px; + font-family: 'Font Awesome 5 Pro'; +} + +body.dashboard article>div .stats-pay table .level-0 th:first-child { + border-top: 0 !important; + font-size: 13px; + font-weight: bold; +} + +body.dashboard article>div .stats-pay table .level-0 th:first-child::before { + content: '\f078'; + color: #fff; + font-size: .85em; + font-weight: 400; + margin-top: 2px; +} + +body.dashboard article>div .stats-pay table .level-0 th, +body.dashboard article>div .stats-pay table .level-0 td { + padding-bottom: .95rem; + border-bottom: 0 !important; +} + +body.dashboard article>div .stats-pay table .level-0[aria-expanded="true"] th:first-child::before { + content: '\f077'; +} + +body.dashboard article>div .stats-pay table .level-1[data-target] th:first-child::before { + content: '\f067'; + margin-top: 3px; + color: rgba(0, 0, 0, 0.3); + font-size: .8rem; +} + +body.dashboard article>div .stats-pay table .level-1[data-target] th:first-child:hover::before { + color: rgba(0, 0, 0, 0.6) !important; +} + +body.dashboard article>div .stats-pay table .level-1[data-target][aria-expanded="true"] th:first-child::before { + content: '\f068'; +} + +body.dashboard article>div .stats-pay table .level-1:not([data-target]) th:first-child::before { + content: '\f002'; + margin-top: 2px; + color: rgba(0, 0, 0, 0.3); + font-size: .95rem; +} + +body.dashboard article>div .stats-pay table .level-1:not([data-target]) th:first-child:hover::before { + color: rgba(0, 0, 0, 0.6) !important; +} + +body.dashboard article>div .stats-pay table .level-1[aria-expanded="true"] { + background-color: rgba(62, 100, 193, 0.25); +} + +body.dashboard article>div .stats-pay table .level-1:hover a.excel { + opacity: 1 !important; +} + +body.dashboard article>div .stats-pay table .level-1 a.excel { + position: absolute; + top: 4px; + right: 10px; +} + +html.no-touchevents body.dashboard article>div .stats-pay table .level-1 a.excel { + opacity: 0; +} + +body.dashboard article>div .stats-pay table .level-2 { + background-color: rgba(62, 100, 193, 0.14); +} + +body.dashboard article>div .stats-pay table .level-2:hover { + background-color: rgba(62, 100, 193, 0.08); +} + +body.dashboard article>div .stats-pay table .level-2 td { + border-bottom: 1px solid rgba(255, 255, 255, 0.6); +} + +body.dashboard article>div .stats-pay table .level-2 th:first-child { + border-top: 0; +} + +body.dashboard article>div .stats-pay table .level-2 th:first-child span { + display: block; + position: absolute; + top: 0; + left: 0; + min-width: 0; + height: 14px; + padding: 0 2px; + margin: 0; + color: #fff; + font-size: 10px; + text-align: center; + background-color: rgba(52, 58, 64, 0.3); +} + +body.dashboard article>div .quota h4 { + position: relative; + font-family: "Arquitecta-bold", Sans-serif; + font-size: 1.5rem; +} + +body.dashboard article>div .quota h4::before { + position: absolute; + right: 15px; + content: '\f067'; + font-family: 'Font Awesome 5 Pro'; + font-size: 1.3rem; + opacity: .5; +} + +body.dashboard article>div .quota h4[aria-expanded="true"]::before { + content: '\f068'; +} + +body.dashboard article>div .quota h5 { + position: relative; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 2rem; +} + +body.dashboard article>div .quota h5::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + position: relative; + bottom: 8px; + left: 0; + width: 100%; + height: 1px; + background-color: rgba(0, 0, 0, 0.1); +} + +body.dashboard article>div .quota h5 span { + display: inline-block; + position: relative; + z-index: 2; + padding-right: 10px; + background-color: #fff; +} + +body.dashboard article>div .quota .item { + background-color: transparent; + transition: all 0.3s ease; +} + +body.dashboard article>div .quota .item.full a, +body.dashboard article>div .quota .item.full big { + opacity: .4; +} + +body.dashboard article>div .quota .item.full .progress { + opacity: .2; +} + +body.dashboard article>div .quota .item big { + position: relative; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 1.5rem; +} + +body.dashboard article>div .quota .item big span { + display: inline-block; + position: absolute; + bottom: -8px; + right: 18px; + width: 100%; +} + +body.dashboard article>div .quota .item .progress { + background-color: #b5e482; +} + +body.dashboard article>div .abstracts ul.status li { + position: relative; + padding: 10px 100px 10px 40px; +} + +body.dashboard article>div .abstracts ul.status li:not(:first-child) { + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +body.dashboard article>div .abstracts ul.status li.total { + border-top: 1px solid rgba(0, 0, 0, 0.25); +} + +body.dashboard article>div .abstracts ul.status li i { + position: absolute; + top: 15px; + left: 8px; + width: 30px; + height: 30px; +} + +body.dashboard article>div .abstracts ul.status li strong { + position: absolute; + top: 3px; + right: 30px; + font-family: "Arquitecta-heavy", Sans-serif; + font-size: 1.65rem; +} + +@media (min-width: 768px) { + body.dashboard article>div .stats-pay table { + font-size: 1rem; + } + body.dashboard article>div .stats-pay table th, + body.dashboard article>div .stats-pay table td { + padding: .75rem; + } + body.dashboard article>div .stats-pay table th:first-child { + display: table-cell; + position: relative; + width: auto; + min-width: 220px; + height: auto; + overflow: visible; + text-overflow: unset; + white-space: unset; + } + body.dashboard article>div .stats-pay table .qty { + min-width: 140px; + padding-left: inherit; + } + body.dashboard article>div .stats-pay table .qty span { + display: inline-block; + font-size: 1rem; + } + body.dashboard article>div .stats-pay table .total-ht span, + body.dashboard article>div .stats-pay table .total-ttc span { + display: inline-block; + } + body.dashboard article>div .stats-pay table .level-0, + body.dashboard article>div .stats-pay table .level-1 { + height: auto; + } + body.dashboard article>div .stats-pay table .level-0 th, + body.dashboard article>div .stats-pay table .level-0 td, + body.dashboard article>div .stats-pay table .level-1 th, + body.dashboard article>div .stats-pay table .level-1 td { + vertical-align: top; + } + body.dashboard article>div .stats-pay table .level-0 th, + body.dashboard article>div .stats-pay table .level-0 td { + border-bottom: 2px solid #fff !important; + vertical-align: middle !important; + } + body.dashboard article>div .stats-pay table .level-0 th:first-child { + font-size: 1rem; + font-weight: normal; + } + body.dashboard article>div .stats-pay table .level-1 a.excel { + top: 7px; + right: 14px; + } + body.dashboard article>div .stats-pay table .level-2 th:first-child { + text-align: right; + border-bottom: 1px solid rgba(255, 255, 255, 0.6); + } + body.dashboard article>div .stats-pay table .level-2 th:first-child span { + display: inline-block; + position: relative; + height: auto; + padding: 0; + color: inherit; + font-size: inherit; + background-color: inherit; + } +} + + +/* -------------------- Recherche (liste) -------------------- */ + +body.searchlist article .adv-search [data-target="#adv-search-content"] { + padding-left: 20px; +} + +body.searchlist article .adv-search [data-target="#adv-search-content"]::before { + content: '\f00e'; + margin-right: .4em; + font-family: 'Font Awesome 5 Pro'; + font-weight: 400; +} + +body.searchlist article .adv-search [data-target="#adv-search-content"][aria-expanded="true"]::before { + content: '\f010'; +} + +body.searchlist article .adv-search #adv-search-content>div { + background-color: #efefef; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset legend { + position: relative; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset legend::after { + position: absolute; + top: 0; + right: 0; + content: '\f067'; + margin-right: .4em; + font-family: 'Font Awesome 5 Pro'; + font-weight: 400; + font-size: 1rem; + opacity: .3; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset legend[aria-expanded="true"]::after { + content: '\f068'; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-dates label { + width: 30px; + justify-content: left; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .head, +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .critere { + margin: 0 .5rem; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .head { + margin-top: 1rem; + background-color: #e0e0e0; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .critere { + position: relative; + padding: .7rem 0; + background-color: #f5f5f5; + border-bottom: 1px solid #fff; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .critere .delete { + position: absolute; + right: 1rem; + top: .3rem; +} + +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .critere .bootstrap-select.disabled .dropdown-toggle, +body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .critere .bootstrap-select>.disabled .dropdown-toggle { + background: none; +} + +body.searchlist article .search-results { + position: relative; + z-index: 1010; +} + +body.searchlist article .search-results table .input-group>.form-control { + height: calc(1.5em + .6rem + 2px) !important; + padding: .3rem 1.05rem !important; +} + +body.searchlist article .search-results table .dropdown-toggle { + height: calc(1.5em + .6rem + 2px) !important; + padding-top: .3rem !important; + padding-bottom: .3rem !important; +} + +@media (min-width: 1200px) { + body.searchlist article .adv-search #adv-search-content>div fieldset #adv-search-autre .critere .delete { + position: relative; + right: inherit; + top: inherit; + } +} + + +/* -------------------- Paramètres généraux (fomrulaire) -------------------- */ + +body.genparams article.readonly dl dt, +body.genparams article.readonly dl dd { + margin-inline-start: 0; + margin-inline-end: 0; + overflow: hidden; +} + +body.genparams article.readonly dl dt { + padding-top: 2.5rem; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +body.genparams article.readonly dl dd { + padding: .5rem 0 1.5rem 4rem; +} + +body.genparams article.readonly dl dd>ul>li { + padding: .5rem 0; +} + +body.genparams article.readonly dl dd>ul>li>strong, +body.genparams article.readonly dl dd>ul>li>span { + display: block; + vertical-align: top; +} + +body.genparams article.readonly dl dd>ul>li>strong { + padding: .2rem .75rem 0 0; + color: #6c757d; + font-family: "Arquitecta-regular", Sans-serif !important; + font-weight: 400; + text-transform: uppercase; + line-height: 1.3; +} + +@media (min-width: 576px) { + body.genparams article.readonly dl dd>ul>li>strong, + body.genparams article.readonly dl dd>ul>li>span { + display: inline-block; + } +} + +@media (min-width: 1200px) { + body.genparams article.readonly dl dd { + padding-top: 2rem; + border-top: 1px solid rgba(0, 0, 0, 0.1); + } +} + + +/* -------------------- Paramètrage d'éléments -------------------- */ + +body.eltsparams article .sidelist { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + padding: 0; + padding-top: var(--sidelist-padding-top); + padding-bottom: var(--sidelist-padding-bottom); + transform: translateX(calc(-100vw + 30px)); + transition: transform 0.3s ease; + -webkit-overflow-scrolling: touch; + visibility: hidden; +} + +body.eltsparams article .sidelist>div { + position: relative; + width: calc(100vw - 40px); + max-width: calc(100vw - 40px); + max-height: 100%; + padding: 0 0 0 2.2rem; +} + +body.eltsparams article .sidelist>div::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + position: -webkit-sticky; + position: sticky; + bottom: 0; + left: 0; + left: -1px !important; + width: calc(100% + 3px); + height: 30px; + background: linear-gradient(to bottom, rgba(248, 248, 248, 0) 0, #f8f8f8 100%) top center no-repeat; +} + +body.eltsparams article .sidelist>div>div { + min-width: 263px; + padding-right: 2rem; +} + +body.eltsparams article .sidelist>div>div .sidelist-header { + position: -webkit-sticky; + position: sticky; + z-index: 2; + top: 0; + min-height: 40px; + padding: 4px 0 15px 0; + background: linear-gradient(to bottom, #f8f8f8 calc(100% - 25px), rgba(248, 248, 248, 0) 100%) top center no-repeat; +} + +body.eltsparams article .sidelist>div>div .sidelist-header a.btn { + box-shadow: none !important; +} + +body.eltsparams article .sidelist>div>div section>ul>li { + position: relative; + padding: .9rem .5rem .9rem 1rem; + font-size: .8rem; + transition: all 0.3s ease; +} + +body.eltsparams article .sidelist>div>div section>ul>li:not(:last-child) { + border-bottom: 1px solid #dee2e6; +} + +body.eltsparams article .sidelist>div>div section>ul>li .custom-control-input { + margin-top: .15em; +} + +body.eltsparams article .sidelist>div>div section>ul>li a .label { + max-width: calc(100% - 25px); + padding-right: 30px; +} + +body.eltsparams article .sidelist>div>div section>ul>li a .label strong { + display: block; + font-size: .85rem; +} + +body.eltsparams article .sidelist>div>div section>ul>li a .icons { + display: inline-block; + position: absolute; + top: 15px; + right: 8px; +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils { + margin-left: 1.7rem; +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils lh h6 { + color: rgba(0, 0, 0, 0.4); + font-size: 1rem; +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils li { + padding: 0; + border-left: 1px solid rgba(0, 0, 0, 0.1); +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils li a { + display: block; + padding: .4rem .7rem; + color: rgba(0, 0, 0, 0.45); +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils li a:hover { + color: #000; + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils li.set { + border-left: 1px solid rgba(0, 0, 0, 0.4); +} + +body.eltsparams article .sidelist>div>div section>ul>li ul.profils li.set a { + color: #000; +} + +body.eltsparams article .sidelist>div>div section>ul>li.active a, +body.eltsparams article .sidelist>div>div section>ul>li.active i.fa-user-circle { + color: #fff !important; +} + +body.eltsparams article .sidelist>div>div section>ul>li.active ul.profils lh h6 { + color: rgba(255, 255, 255, 0.7); +} + +body.eltsparams article .sidelist>div>div section>ul>li.active ul.profils li { + border-left: 1px solid rgba(255, 255, 255, 0.3); +} + +body.eltsparams article .sidelist>div>div section>ul>li.active ul.profils li a:hover { + background-color: rgba(255, 255, 255, 0.3); +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul { + border-left: 2px solid rgba(62, 100, 193, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-default>ul>li:active { + background-color: rgba(62, 100, 193, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #3e64c1 !important; + background-color: #3e64c1 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(62, 100, 193, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li.active { + background-color: rgba(62, 100, 193, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-default>ul>li.active ul.profils li.active a { + color: #3e64c1 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul { + border-left: 2px solid rgba(155, 54, 155, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li:active { + background-color: rgba(155, 54, 155, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #9b369b !important; + background-color: #9b369b !important; +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(155, 54, 155, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li.active { + background-color: rgba(155, 54, 155, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-publication>ul>li.active ul.profils li.active a { + color: #9b369b !important; +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul { + border-left: 2px solid rgba(245, 186, 27, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li:active { + background-color: rgba(245, 186, 27, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #f5ba1b !important; + background-color: #f5ba1b !important; +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(245, 186, 27, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li.active { + background-color: rgba(245, 186, 27, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-abstracts>ul>li.active ul.profils li.active a { + color: #f5ba1b !important; +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul { + border-left: 2px solid rgba(64, 156, 106, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li:active { + background-color: rgba(64, 156, 106, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #409c6a !important; + background-color: #409c6a !important; +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(64, 156, 106, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li.active { + background-color: rgba(64, 156, 106, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-groupes>ul>li.active ul.profils li.active a { + color: #409c6a !important; +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul { + border-left: 2px solid rgba(232, 25, 44, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li:active { + background-color: rgba(232, 25, 44, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #e8192c !important; + background-color: #e8192c !important; +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li.active { + background-color: rgba(232, 25, 44, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-financiers>ul>li.active ul.profils li.active a { + color: #e8192c !important; +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul { + border-left: 2px solid rgba(38, 76, 149, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li:active { + background-color: rgba(38, 76, 149, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #264c95 !important; + background-color: #264c95 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(38, 76, 149, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li.active { + background-color: rgba(38, 76, 149, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-hebergement>ul>li.active ul.profils li.active a { + color: #264c95 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul { + border-left: 2px solid rgba(0, 136, 219, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li:active { + background-color: rgba(0, 136, 219, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #0088db !important; + background-color: #0088db !important; +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 136, 219, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li.active { + background-color: rgba(0, 136, 219, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-inscriptions>ul>li.active ul.profils li.active a { + color: #0088db !important; +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul { + border-left: 2px solid rgba(255, 96, 0, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li:active { + background-color: rgba(255, 96, 0, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #ff6000 !important; + background-color: #ff6000 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(255, 96, 0, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li.active { + background-color: rgba(255, 96, 0, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-emailing>ul>li.active ul.profils li.active a { + color: #ff6000 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul { + border-left: 2px solid rgba(14, 183, 169, 0.5); +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li:hover, +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li:active { + background-color: rgba(14, 183, 169, 0.15); +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #0eb7a9 !important; + background-color: #0eb7a9 !important; +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li .custom-control-input:not([disabled]):not(:disabled):focus~.custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(14, 183, 169, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important; +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li.active { + background-color: rgba(14, 183, 169, 0.8); +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li.active .custom-control-input:not([disabled]):not(:disabled):checked~.custom-control-label::before { + border-color: #343a40 !important; + background-color: #343a40 !important; + opacity: .6; +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li.active ul.profils li.active { + background-color: #fff; +} + +body.eltsparams article .sidelist>div>div section.rub-statistiques>ul>li.active ul.profils li.active a { + color: #0eb7a9 !important; +} + +body.eltsparams article .sidelist .toggler { + position: absolute; + top: 0; + right: 0; + width: 30px; + height: 100%; + max-height: 100vh; + /* padding-top: calc(var(--sidelist-padding-top) + 35px); */ +} + +body.eltsparams article .sidelist .toggler::after { + display: block; + position: absolute; + content: ''; + z-index: 1; + top: 0; + left: 0; + width: 24px; + height: 100%; + background-color: rgba(0, 0, 0, 0.04); +} + +body.eltsparams article .sidelist .toggler i { + display: block; + position: relative; + /* top: 0; */ + top: calc(50vh - 15px); + left: 0; + width: 30px; + height: 30px; +} + +body.eltsparams article .sidelist.sidelist-sm>div { + width: 300px; +} + +body.eltsparams article .sidelist.sidelist-md>div { + width: 500px; +} + +body.eltsparams article .sidelist.sidelist-lg>div { + width: 750px; +} + +body.eltsparams article .sidelist+.sidelist-detail { + min-height: 340px; + align-self: start; + transition: all 0.3s ease; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-default .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-default .form { + background-color: rgba(62, 100, 193, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-default .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-default .form-head .fa-info-circle { + color: #3e64c1; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-default .form i.fa-file-import { + color: #3e64c1; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-default .form .btn { + background-color: #3e64c1 !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-publication .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-publication .form { + background-color: rgba(155, 54, 155, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-publication .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-publication .form-head .fa-info-circle { + color: #9b369b; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-publication .form i.fa-file-import { + color: #9b369b; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-publication .form .btn { + background-color: #9b369b !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-abstracts .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-abstracts .form { + background-color: rgba(245, 186, 27, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-abstracts .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-abstracts .form-head .fa-info-circle { + color: #f5ba1b; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-abstracts .form i.fa-file-import { + color: #f5ba1b; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-abstracts .form .btn { + background-color: #f5ba1b !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-groupes .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-groupes .form { + background-color: rgba(64, 156, 106, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-groupes .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-groupes .form-head .fa-info-circle { + color: #409c6a; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-groupes .form i.fa-file-import { + color: #409c6a; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-groupes .form .btn { + background-color: #409c6a !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-financiers .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-financiers .form { + background-color: rgba(232, 25, 44, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-financiers .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-financiers .form-head .fa-info-circle { + color: #e8192c; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-financiers .form i.fa-file-import { + color: #e8192c; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-financiers .form .btn { + background-color: #e8192c !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-hebergement .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-hebergement .form { + background-color: rgba(38, 76, 149, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-hebergement .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-hebergement .form-head .fa-info-circle { + color: #264c95; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-hebergement .form i.fa-file-import { + color: #264c95; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-hebergement .form .btn { + background-color: #264c95 !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-inscriptions .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-inscriptions .form { + background-color: rgba(0, 136, 219, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-inscriptions .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-inscriptions .form-head .fa-info-circle { + color: #0088db; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-inscriptions .form i.fa-file-import { + color: #0088db; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-inscriptions .form .btn { + background-color: #0088db !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-emailing .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-emailing .form { + background-color: rgba(255, 96, 0, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-emailing .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-emailing .form-head .fa-info-circle { + color: #ff6000; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-emailing .form i.fa-file-import { + color: #ff6000; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-emailing .form .btn { + background-color: #ff6000 !important; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-statistiques .form-head, +body.eltsparams article .sidelist+.sidelist-detail.rub-statistiques .form { + background-color: rgba(14, 183, 169, 0.15); +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-statistiques .form-head h5, +body.eltsparams article .sidelist+.sidelist-detail.rub-statistiques .form-head .fa-info-circle { + color: #0eb7a9; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-statistiques .form i.fa-file-import { + color: #0eb7a9; +} + +body.eltsparams article .sidelist+.sidelist-detail.rub-statistiques .form .btn { + background-color: #0eb7a9 !important; +} + +body.eltsparams article .sidelist+.sidelist-detail .form { + margin-left: 0; + /* padding-bottom: 15px; */ +} + +body.eltsparams article .sidelist+.sidelist-detail .form .form-head { + /* + em { + display: block; + position: relative; + font-size: .8em; + line-height: 1.3em; + i { + position: absolute; + top: 2px; + left: 0; + } + } + */ +} + +body.eltsparams article .sidelist+.sidelist-detail .form .form-head strong { + font-size: .85em; +} + +body.eltsparams article .sidelist+.sidelist-detail .form .badge { + position: relative; + max-width: 100%; +} + +body.eltsparams article .sidelist+.sidelist-detail .form .badge a { + position: absolute; + top: 6px; + right: 3px; +} + +body.eltsparams article .sidelist.sidelist-landing .toggler { + display: none; +} + +body.eltsparams article .sidelist.sidelist-landing+.sidelist-detail { + z-index: 2; + opacity: 1 !important; + filter: blur(0) !important; +} + +body.eltsparams article .sidelist.sidelist-landing+.sidelist-detail .alert-info { + position: absolute; + right: var(--sidelist-width); + width: calc(var(--sidelist-width) - 60px); +} + +body.eltsparams article .sidelist.persistent { + display: flex; + position: -webkit-sticky; + position: sticky; + top: 0; + left: 0 !important; + width: unset; + max-height: var(--sidelist-max-height); + padding: 0; + transform: translateX(0); + transition: max-width 0.3s ease; +} + +body.eltsparams article .sidelist.persistent.sidelist-sm { + flex: 0 0 calc(300px + 1rem); + max-width: calc(300px + 1rem); +} + +body.eltsparams article .sidelist.persistent.sidelist-sm+.sidelist-detail { + flex: 0 0 calc(100% - calc(300px + 1rem)); + max-width: calc(100% - calc(300px + 1rem)); +} + +body.eltsparams article .sidelist.persistent.sidelist-md { + flex: 0 0 calc(500px + 1rem); + max-width: calc(500px + 1rem); +} + +body.eltsparams article .sidelist.persistent.sidelist-md+.sidelist-detail { + flex: 0 0 calc(100% - calc(500px + 1rem)); + max-width: calc(100% - calc(500px + 1rem)); +} + +body.eltsparams article .sidelist.persistent.sidelist-lg { + flex: 0 0 calc(700px + 1rem); + max-width: calc(700px + 1rem); +} + +body.eltsparams article .sidelist.persistent.sidelist-lg+.sidelist-detail { + flex: 0 0 calc(100% - calc(700px + 1rem)); + max-width: calc(100% - calc(700px + 1rem)); +} + +body.eltsparams article .sidelist.persistent>div { + padding-left: 1rem; + overflow-x: hidden; + overflow-y: auto; +} + +body.eltsparams article .sidelist.persistent .toggler { + right: -30px; + padding-top: 0; + background: none; +} + +body.eltsparams article .sidelist.persistent .toggler i { + z-index: 1; + top: 6px; + left: -36px; + text-align: center; + font-size: 1.5em; +} + +body.eltsparams article .sidelist.persistent .toggler i::before { + content: '\f00d'; +} + +body.eltsparams article .sidelist.persistent .toggler::after { + width: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +body.eltsparams article .sidelist.persistent+.sidelist-detail { + padding-left: 40px; + opacity: 1 !important; + filter: none !important; + transform: translateX(0) !important; + transition: max-width 0.3s ease; +} + +body.eltsparams article .sidelist.persistent.sidelist-landing+.sidelist-detail .alert-info { + position: relative; + top: 40px; + right: unset; + width: unset; + max-width: calc(100vw - var(--sidelist-width) - 80px); +} + +body.eltsparams article .sidelist.persistent.sidelist-landing+.sidelist-detail .alert-info .close { + display: none; +} + +body.eltsparams article .sidelist.persistent.persistent-hidden { + flex: 0 0 1px; + max-width: 1px; +} + +body.eltsparams article .sidelist.persistent.persistent-hidden>div { + overflow: hidden; +} + +body.eltsparams article .sidelist.persistent.persistent-hidden .toggler i { + top: 10px; + left: -38px; + text-align: right; + font-size: 1.34em; +} + +body.eltsparams article .sidelist.persistent.persistent-hidden .toggler i::before { + content: '\f0c9'; +} + +body.eltsparams article .sidelist.persistent.persistent-hidden+.sidelist-detail { + flex: 0 0 calc(100% - 10px); + max-width: calc(100% - 10px); + padding-left: 40px; +} + +body.eltsparams article .sidelist.ready, +body.eltsparams article .sidelist.ready+.sidelist-detail { + visibility: visible; +} + +body.eltsparams.show-sidelist article .breadcrumb { + position: relative; + z-index: 3; +} + +body.eltsparams.show-sidelist article .sidelist { + transform: translateX(0); +} + +body.eltsparams.show-sidelist article .sidelist>div { + overflow-x: hidden; + overflow-y: auto; +} + +body.eltsparams.show-sidelist article .sidelist:not(.persistent) .toggler { + right: 0; + width: calc(100vw - var(--sidelist-width)); + background-color: rgba(0, 0, 0, 0.06); +} + +body.eltsparams.show-sidelist article .sidelist:not(.persistent) .toggler::after { + opacity: 0; +} + +body.eltsparams.show-sidelist article .sidelist:not(.persistent) .toggler i { + width: 100%; + max-width: 60px; + font-size: 1.5em; + text-align: center; +} + +body.eltsparams.show-sidelist article .sidelist:not(.persistent) .toggler i::before { + content: '\f00d'; +} + +body.eltsparams.show-sidelist article .sidelist+.sidelist-detail { + opacity: .6; + filter: blur(4px); + transform: translateX(var(--sidelist-width)); +} + +body.eltsparams.reduced-menu-left article .sidelist.persistent.persistent-hidden .toggler { + right: -8px; +} + +body.eltsparams.reduced-menu-left article .sidelist.persistent.persistent-hidden .toggler i { + left: -2px; + text-align: center; +} + +body.eltsparams.reduced-menu-left article .sidelist.persistent.persistent-hidden .toggler::after { + left: 100%; +} + +@media (orientation: landscape) { + html.isiPhone body.eltsparams article .sidelist { + padding-bottom: 0; + } + html.isiPhone body.eltsparams article .sidelist>div::after { + display: none; + } +} + +@media (orientation: portrait) { + body.eltsparams.hideheader article .sidelist { + padding-top: 0; + } +} + +@media (min-width: 576px) { + body.eltsparams article .sidelist>div { + padding: 0 0 0 4.4rem; + } + body.eltsparams article .sidelist>div>div { + min-width: 294px; + } + body.eltsparams article .sidelist.sidelist-sm>div { + width: calc(300px + 4.4rem); + } + body.eltsparams article .sidelist.sidelist-md>div { + width: calc(500px + 4.4rem); + } + body.eltsparams article .sidelist.sidelist-lg>div { + width: calc(700px + 4.4rem); + } + body.eltsparams article .sidelist.sidelist-landing+.sidelist-detail .alert-info { + width: calc(var(--sidelist-width) + 40px); + } +} + +@media (min-width: 992px) { + body.eltsparams:not(.show-sidelist):not(.pinned-menu-left).reduced-menu-left article .sidelist:not(.persistent) .toggler { + right: -18px; + } + body.eltsparams.pinned-menu-left article .sidelist { + left: 280px; + } + body.eltsparams.pinned-menu-left article .sidelist>div { + max-width: calc(100vw - 320px); + } + body.eltsparams.pinned-menu-left article .sidelist:not(.persistent) .toggler i { + max-width: 40px; + } +} + + +/* -------------------- Contenus (ERP) -------------------- */ + +body.erp main>article { + padding-top: 170px !important; + -webkit-clip-path: inset(0); + clip-path: inset(0); +} + +body.erp main>article .breadcrumb-item, +body.erp main>article .breadcrumb-item a { + color: #adb5bd !important; + font-family: "Arquitecta-bold", Sans-serif; + text-transform: uppercase; + text-decoration: none; + transition: all 0.15s ease; +} + +body.erp main>article .breadcrumb-item+.breadcrumb-item::before { + margin-top: 2px; + font-family: 'Font Awesome 5 Pro'; + font-weight: 400; + font-size: .7rem; +} + +body.erp main>article h2 i, +body.erp main>article h3 i, +body.erp main>article h4 i { + width: 36px; + height: 36px; + min-width: 36px; + min-height: 36px; + text-align: center; + font-size: 1.8rem !important; +} + +body.erp main>article h2 i:not(.icon), +body.erp main>article h3 i:not(.icon), +body.erp main>article h4 i:not(.icon) { + line-height: 1.5em; +} + +body.erp main>article h2 i { + margin-top: -.2rem !important; +} + +body.erp main>article h3 i { + margin-top: -.5rem !important; +} + +body.erp main>article h4 i { + margin-top: -.7rem !important; +} + +@media (min-width: 576px) { + body.erp main>article { + padding-top: 210px !important; + } +} + +@media (min-width: 768px) { + body.erp main>article { + padding-top: 280px !important; + } +} + +@media (min-width: 992px) { + body.erp main>article { + padding-top: 46px !important; + } +} + +body[class*='rub-'] main>article { + padding-top: 156px !important; +} + +@media (min-width: 576px) { + body[class*='rub-'] main>article { + padding-top: 170px !important; + } +} + +@media (min-width: 768px) { + body[class*='rub-'] main>article { + padding-top: 190px !important; + } +} + +@media (min-width: 992px) { + body[class*='rub-'] main>article { + padding-top: 46px !important; + } +} + + +/* -------------------- Contenus (ERP > Scheduler) -------------------- */ + +body.scheduler main>article { + max-height: 100vh; + overflow-y: auto; +} + +body.scheduler main>article::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +body.scheduler main>article .schedulecontainer { + width: calc(100% + 60px); + margin-left: -30px; + padding: 20px 30px 80px 30px; + overflow: inherit; +} + +body.scheduler main>article .schedulecontainer .BrowseTop { + position: -webkit-sticky !important; + position: sticky !important; + z-index: 9999 !important; + top: -156px !important; +} + +body.scheduler main>article .schedulecontainer .RadScheduler, +body.scheduler main>article .schedulecontainer .rsTopWrap { + overflow: inherit; +} + +body.scheduler main>article .schedulecontainer .rsHeader { + position: -webkit-sticky; + position: sticky; + top: -156px; + z-index: 999; +} + +body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsSpacerCell, +body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsHorizontalHeaderWrapper { + position: -webkit-sticky; + position: sticky; + top: -124px; + z-index: 999; +} + +body.scheduler main>article .schedulecontainer .rsVerticalHeaderWrapper, +body.scheduler main>article .schedulecontainer .rsAllDayHeader { + position: -webkit-sticky; + position: sticky; + left: -30px; + z-index: 998; +} + +html:not(.no-touchevents) body.scheduler main>article { + padding-bottom: 0 !important; +} + +body.scheduler footer { + display: none; +} + +@media (min-width: 576px) { + body.scheduler main>article .schedulecontainer { + width: calc(100% + 120px); + margin-left: -60px; + padding-left: 60px; + padding-right: 60px; + } + body.scheduler main>article .schedulecontainer .BrowseTop, + body.scheduler main>article .schedulecontainer .rsHeader { + top: -173px !important; + } + body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsSpacerCell, + body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsHorizontalHeaderWrapper { + top: -141px; + } + body.scheduler main>article .schedulecontainer .rsVerticalHeaderWrapper, + body.scheduler main>article .schedulecontainer .rsAllDayHeader { + left: -60px; + } +} + +@media (min-width: 768px) { + body.scheduler main>article .schedulecontainer .BrowseTop, + body.scheduler main>article .schedulecontainer .rsHeader { + top: -190px !important; + } + body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsSpacerCell, + body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsHorizontalHeaderWrapper { + top: -158px; + } +} + +@media (min-width: 992px) { + html.no-touchevents body.scheduler nav.menu-left { + overflow: hidden; + } + html.no-touchevents body.scheduler nav.menu-left .menu-ctn { + max-height: calc(100vh - 251px) !important; + } + body.scheduler main>article .schedulecontainer .BrowseTop { + top: -48px !important; + } + body.scheduler main>article .schedulecontainer .rsHeader { + top: -46px !important; + } + body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsSpacerCell, + body.scheduler main>article .schedulecontainer .rsContent tr:first-child .rsHorizontalHeaderWrapper { + top: -17px; + } + body.scheduler main>article .schedulecontainer .rsVerticalHeaderWrapper, + body.scheduler main>article .schedulecontainer .rsAllDayHeader { + left: -42px; + } +} + +@media (min-width: 992px) { + body.scheduler main>article { + max-height: calc(100vh - 251px); + } + body.scheduler footer { + display: block; + } +} \ No newline at end of file diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.html b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.html new file mode 100644 index 0000000..331564c Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.html differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.woff b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.woff new file mode 100644 index 0000000..2d90b6f Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.woff differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.woff2 b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.woff2 new file mode 100644 index 0000000..331564c Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-bold.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.html b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.html new file mode 100644 index 0000000..ffc9c18 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.html differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.woff b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.woff new file mode 100644 index 0000000..8cd684a Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.woff differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.woff2 b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.woff2 new file mode 100644 index 0000000..ffc9c18 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-heavy.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.html b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.html new file mode 100644 index 0000000..e42048f Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.html differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.woff b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.woff new file mode 100644 index 0000000..08ff190 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.woff differ diff --git a/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.woff2 b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.woff2 new file mode 100644 index 0000000..e42048f Binary files /dev/null and b/key4intranet.front/public/assets/fonts/arquitecta/arquitecta-regular.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.eot new file mode 100644 index 0000000..430e602 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.html b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.html new file mode 100644 index 0000000..4a36e0b Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.html differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.svg b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.svg new file mode 100644 index 0000000..6027967 --- /dev/null +++ b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.svg @@ -0,0 +1,15299 @@ + + + + + +Created by FontForge 20200314 at Wed Jul 15 11:59:12 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.ttf b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.ttf new file mode 100644 index 0000000..805444e Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.ttf differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.woff b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.woff new file mode 100644 index 0000000..a49cba8 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.woff differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.woff2 b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.woff2 new file mode 100644 index 0000000..4a36e0b Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900d41d.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900d41d.eot new file mode 100644 index 0000000..430e602 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-duotone-900d41d.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.eot new file mode 100644 index 0000000..3747612 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.html b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.html new file mode 100644 index 0000000..d4c4f18 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.html differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.svg b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.svg new file mode 100644 index 0000000..8b98eb4 --- /dev/null +++ b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.svg @@ -0,0 +1,12397 @@ + + + + + +Created by FontForge 20200314 at Wed Jul 15 11:59:11 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.ttf b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.ttf new file mode 100644 index 0000000..05068f6 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.ttf differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.woff b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.woff new file mode 100644 index 0000000..91eb49e Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.woff differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.woff2 b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.woff2 new file mode 100644 index 0000000..d4c4f18 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300d41d.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300d41d.eot new file mode 100644 index 0000000..3747612 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-light-300d41d.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.eot new file mode 100644 index 0000000..98022e0 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.html b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.html new file mode 100644 index 0000000..057f866 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.html differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.svg b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.svg new file mode 100644 index 0000000..752583e --- /dev/null +++ b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.svg @@ -0,0 +1,11299 @@ + + + + + +Created by FontForge 20200314 at Wed Jul 15 11:59:12 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.ttf b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.ttf new file mode 100644 index 0000000..17f4c74 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.ttf differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.woff b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.woff new file mode 100644 index 0000000..2f746d3 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.woff differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.woff2 b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.woff2 new file mode 100644 index 0000000..057f866 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400d41d.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400d41d.eot new file mode 100644 index 0000000..98022e0 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-regular-400d41d.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.eot new file mode 100644 index 0000000..f53e78d Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.eot differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.html b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.html new file mode 100644 index 0000000..1374b86 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.html differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.svg b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.svg new file mode 100644 index 0000000..a90c7fb --- /dev/null +++ b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.svg @@ -0,0 +1,9634 @@ + + + + + +Created by FontForge 20200314 at Wed Jul 15 11:59:11 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.ttf b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.ttf new file mode 100644 index 0000000..1ca9d41 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.ttf differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.woff b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.woff new file mode 100644 index 0000000..8a22c87 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.woff differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.woff2 b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.woff2 new file mode 100644 index 0000000..1374b86 Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900.woff2 differ diff --git a/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900d41d.eot b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900d41d.eot new file mode 100644 index 0000000..f53e78d Binary files /dev/null and b/key4intranet.front/public/assets/fonts/font-awesome/fa-solid-900d41d.eot differ diff --git a/key4intranet.front/public/assets/icons/doc.ico b/key4intranet.front/public/assets/icons/doc.ico new file mode 100644 index 0000000..3ab8c55 Binary files /dev/null and b/key4intranet.front/public/assets/icons/doc.ico differ diff --git a/key4intranet.front/public/assets/icons/docx.ico b/key4intranet.front/public/assets/icons/docx.ico new file mode 100644 index 0000000..3ab8c55 Binary files /dev/null and b/key4intranet.front/public/assets/icons/docx.ico differ diff --git a/key4intranet.front/public/assets/icons/gif.ico b/key4intranet.front/public/assets/icons/gif.ico new file mode 100644 index 0000000..c1cf272 Binary files /dev/null and b/key4intranet.front/public/assets/icons/gif.ico differ diff --git a/key4intranet.front/public/assets/icons/ico.ico b/key4intranet.front/public/assets/icons/ico.ico new file mode 100644 index 0000000..c1cf272 Binary files /dev/null and b/key4intranet.front/public/assets/icons/ico.ico differ diff --git a/key4intranet.front/public/assets/icons/jpeg.ico b/key4intranet.front/public/assets/icons/jpeg.ico new file mode 100644 index 0000000..c1cf272 Binary files /dev/null and b/key4intranet.front/public/assets/icons/jpeg.ico differ diff --git a/key4intranet.front/public/assets/icons/jpg.ico b/key4intranet.front/public/assets/icons/jpg.ico new file mode 100644 index 0000000..c1cf272 Binary files /dev/null and b/key4intranet.front/public/assets/icons/jpg.ico differ diff --git a/key4intranet.front/public/assets/icons/odc.ico b/key4intranet.front/public/assets/icons/odc.ico new file mode 100644 index 0000000..f400f09 Binary files /dev/null and b/key4intranet.front/public/assets/icons/odc.ico differ diff --git a/key4intranet.front/public/assets/icons/odt.ico b/key4intranet.front/public/assets/icons/odt.ico new file mode 100644 index 0000000..9efa678 Binary files /dev/null and b/key4intranet.front/public/assets/icons/odt.ico differ diff --git a/key4intranet.front/public/assets/icons/pdf.ico b/key4intranet.front/public/assets/icons/pdf.ico new file mode 100644 index 0000000..e575ab1 Binary files /dev/null and b/key4intranet.front/public/assets/icons/pdf.ico differ diff --git a/key4intranet.front/public/assets/icons/png.ico b/key4intranet.front/public/assets/icons/png.ico new file mode 100644 index 0000000..c1cf272 Binary files /dev/null and b/key4intranet.front/public/assets/icons/png.ico differ diff --git a/key4intranet.front/public/assets/icons/ppt.ico b/key4intranet.front/public/assets/icons/ppt.ico new file mode 100644 index 0000000..81d4d8e Binary files /dev/null and b/key4intranet.front/public/assets/icons/ppt.ico differ diff --git a/key4intranet.front/public/assets/icons/pptx.ico b/key4intranet.front/public/assets/icons/pptx.ico new file mode 100644 index 0000000..81d4d8e Binary files /dev/null and b/key4intranet.front/public/assets/icons/pptx.ico differ diff --git a/key4intranet.front/public/assets/icons/svg.ico b/key4intranet.front/public/assets/icons/svg.ico new file mode 100644 index 0000000..c1cf272 Binary files /dev/null and b/key4intranet.front/public/assets/icons/svg.ico differ diff --git a/key4intranet.front/public/assets/icons/txt.ico b/key4intranet.front/public/assets/icons/txt.ico new file mode 100644 index 0000000..54dfa0e Binary files /dev/null and b/key4intranet.front/public/assets/icons/txt.ico differ diff --git a/key4intranet.front/public/assets/icons/xls.ico b/key4intranet.front/public/assets/icons/xls.ico new file mode 100644 index 0000000..26778c0 Binary files /dev/null and b/key4intranet.front/public/assets/icons/xls.ico differ diff --git a/key4intranet.front/public/assets/icons/xlsx.ico b/key4intranet.front/public/assets/icons/xlsx.ico new file mode 100644 index 0000000..26778c0 Binary files /dev/null and b/key4intranet.front/public/assets/icons/xlsx.ico differ diff --git a/key4intranet.front/public/assets/icons/zip.ico b/key4intranet.front/public/assets/icons/zip.ico new file mode 100644 index 0000000..1c6bd0d Binary files /dev/null and b/key4intranet.front/public/assets/icons/zip.ico differ diff --git a/key4intranet.front/public/assets/images/error.svg b/key4intranet.front/public/assets/images/error.svg new file mode 100644 index 0000000..3694248 --- /dev/null +++ b/key4intranet.front/public/assets/images/error.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/key4intranet.front/public/assets/images/flags.png b/key4intranet.front/public/assets/images/flags.png new file mode 100644 index 0000000..7062c75 Binary files /dev/null and b/key4intranet.front/public/assets/images/flags.png differ diff --git a/key4intranet.front/public/assets/images/flags@2x.png b/key4intranet.front/public/assets/images/flags@2x.png new file mode 100644 index 0000000..8af0b90 Binary files /dev/null and b/key4intranet.front/public/assets/images/flags@2x.png differ diff --git a/key4intranet.front/public/assets/images/logo_loader-anim.svg b/key4intranet.front/public/assets/images/logo_loader-anim.svg new file mode 100644 index 0000000..be1a928 --- /dev/null +++ b/key4intranet.front/public/assets/images/logo_loader-anim.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/key4intranet.front/public/assets/images/logo_loader.svg b/key4intranet.front/public/assets/images/logo_loader.svg new file mode 100644 index 0000000..0819d24 --- /dev/null +++ b/key4intranet.front/public/assets/images/logo_loader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/key4intranet.front/public/assets/images/logos/sample.png b/key4intranet.front/public/assets/images/logos/sample.png new file mode 100644 index 0000000..b9f19af Binary files /dev/null and b/key4intranet.front/public/assets/images/logos/sample.png differ diff --git a/key4intranet.front/public/assets/images/samplePP.png b/key4intranet.front/public/assets/images/samplePP.png new file mode 100644 index 0000000..24995b7 Binary files /dev/null and b/key4intranet.front/public/assets/images/samplePP.png differ diff --git a/key4intranet.front/public/assets/images/sprites.svg b/key4intranet.front/public/assets/images/sprites.svg new file mode 100644 index 0000000..7aa25c3 --- /dev/null +++ b/key4intranet.front/public/assets/images/sprites.svg @@ -0,0 +1,445 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/key4intranet.front/public/assets/images/visuel-bg_A.jpg b/key4intranet.front/public/assets/images/visuel-bg_A.jpg new file mode 100644 index 0000000..31e77f5 Binary files /dev/null and b/key4intranet.front/public/assets/images/visuel-bg_A.jpg differ diff --git a/key4intranet.front/public/assets/images/visuel-bg_B.jpg b/key4intranet.front/public/assets/images/visuel-bg_B.jpg new file mode 100644 index 0000000..d894d7e Binary files /dev/null and b/key4intranet.front/public/assets/images/visuel-bg_B.jpg differ diff --git a/key4intranet.front/public/assets/js/bootstrap/bootstrap-select.min.js b/key4intranet.front/public/assets/js/bootstrap/bootstrap-select.min.js new file mode 100644 index 0000000..2b57230 --- /dev/null +++ b/key4intranet.front/public/assets/js/bootstrap/bootstrap-select.min.js @@ -0,0 +1,9 @@ +/*! + * Bootstrap-select v1.13.18 (https://developer.snapappointments.com/bootstrap-select) + * + * Copyright 2012-2020 SnapAppointments, LLC + * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE) + */ + +!function(e,t){void 0===e&&void 0!==window&&(e=window),"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(e.jQuery)}(this,function(e){!function(P){"use strict";var d=["sanitize","whiteList","sanitizeFn"],r=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],e={"*":["class","dir","id","lang","role","tabindex","style",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},l=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,a=/^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 v(e,t){var i=e.nodeName.toLowerCase();if(-1!==P.inArray(i,t))return-1===P.inArray(i,r)||Boolean(e.nodeValue.match(l)||e.nodeValue.match(a));for(var s=P(t).filter(function(e,t){return t instanceof RegExp}),n=0,o=s.length;n]+>/g,"")),s&&(a=w(a)),a=a.toUpperCase(),o="contains"===i?0<=a.indexOf(t):a.startsWith(t)))break}return o}function N(e){return parseInt(e,10)||0}P.fn.triggerNative=function(e){var t,i=this[0];i.dispatchEvent?(u?t=new Event(e,{bubbles:!0}):(t=document.createEvent("Event")).initEvent(e,!0,!1),i.dispatchEvent(t)):i.fireEvent?((t=document.createEventObject()).eventType=e,i.fireEvent("on"+e,t)):this.trigger(e)};var f={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"},m=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,g=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]","g");function b(e){return f[e]}function w(e){return(e=e.toString())&&e.replace(m,b).replace(g,"")}var I,x,y,$,S=(I={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},x="(?:"+Object.keys(I).join("|")+")",y=RegExp(x),$=RegExp(x,"g"),function(e){return e=null==e?"":""+e,y.test(e)?e.replace($,E):e});function E(e){return I[e]}var C={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"},A=27,L=13,D=32,H=9,B=38,R=40,M={success:!1,major:"3"};try{M.full=(P.fn.dropdown.Constructor.VERSION||"").split(" ")[0].split("."),M.major=M.full[0],M.success=!0}catch(e){}var U=0,j=".bs.select",V={DISABLED:"disabled",DIVIDER:"divider",SHOW:"open",DROPUP:"dropup",MENU:"dropdown-menu",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left",BUTTONCLASS:"btn-default",POPOVERHEADER:"popover-title",ICONBASE:"glyphicon",TICKICON:"glyphicon-ok"},F={MENU:"."+V.MENU},_={div:document.createElement("div"),span:document.createElement("span"),i:document.createElement("i"),subtext:document.createElement("small"),a:document.createElement("a"),li:document.createElement("li"),whitespace:document.createTextNode("\xa0"),fragment:document.createDocumentFragment()};_.noResults=_.li.cloneNode(!1),_.noResults.className="no-results",_.a.setAttribute("role","option"),_.a.className="dropdown-item",_.subtext.className="text-muted",_.text=_.span.cloneNode(!1),_.text.className="text",_.checkMark=_.span.cloneNode(!1);var G=new RegExp(B+"|"+R),q=new RegExp("^"+H+"$|"+A),K={li:function(e,t,i){var s=_.li.cloneNode(!1);return e&&(1===e.nodeType||11===e.nodeType?s.appendChild(e):s.innerHTML=e),void 0!==t&&""!==t&&(s.className=t),null!=i&&s.classList.add("optgroup-"+i),s},a:function(e,t,i){var s=_.a.cloneNode(!0);return e&&(11===e.nodeType?s.appendChild(e):s.insertAdjacentHTML("beforeend",e)),void 0!==t&&""!==t&&s.classList.add.apply(s.classList,t.split(/\s+/)),i&&s.setAttribute("style",i),s},text:function(e,t){var i,s,n=_.text.cloneNode(!1);if(e.content)n.innerHTML=e.content;else{if(n.textContent=e.text,e.icon){var o=_.whitespace.cloneNode(!1);(s=(!0===t?_.i:_.span).cloneNode(!1)).className=this.options.iconBase+" "+e.icon,_.fragment.appendChild(s),_.fragment.appendChild(o)}e.subtext&&((i=_.subtext.cloneNode(!1)).textContent=e.subtext,n.appendChild(i))}if(!0===t)for(;0'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,windowPadding:0,virtualScroll:600,display:!1,sanitize:!0,sanitizeFn:null,whiteList:e},Y.prototype={constructor:Y,init:function(){var i=this,e=this.$element.attr("id"),t=this.$element[0],s=t.form;U++,this.selectId="bs-select-"+U,t.classList.add("bs-select-hidden"),this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),t.classList.contains("show-tick")&&(this.options.showTick=!0),this.$newElement=this.createDropdown(),this.buildData(),this.$element.after(this.$newElement).prependTo(this.$newElement),s&&null===t.form&&(s.id||(s.id="form-"+this.selectId),t.setAttribute("form",s.id)),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(F.MENU),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),t.classList.remove("bs-select-hidden"),!0===this.options.dropdownAlignRight&&this.$menu[0].classList.add(V.MENURIGHT),void 0!==e&&this.$button.attr("data-id",e),this.checkDisabled(),this.clickListener(),this.options.liveSearch?(this.liveSearchListener(),this.focusedParent=this.$searchbox[0]):this.focusedParent=this.$menuInner[0],this.setStyle(),this.render(),this.setWidth(),this.options.container?this.selectPosition():this.$element.on("hide"+j,function(){if(i.isVirtual()){var e=i.$menuInner[0],t=e.firstChild.cloneNode(!1);e.replaceChild(t,e.firstChild),e.scrollTop=0}}),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(e){i.$element.trigger("hide"+j,e)},"hidden.bs.dropdown":function(e){i.$element.trigger("hidden"+j,e)},"show.bs.dropdown":function(e){i.$element.trigger("show"+j,e)},"shown.bs.dropdown":function(e){i.$element.trigger("shown"+j,e)}}),t.hasAttribute("required")&&this.$element.on("invalid"+j,function(){i.$button[0].classList.add("bs-invalid"),i.$element.on("shown"+j+".invalid",function(){i.$element.val(i.$element.val()).off("shown"+j+".invalid")}).on("rendered"+j,function(){this.validity.valid&&i.$button[0].classList.remove("bs-invalid"),i.$element.off("rendered"+j)}),i.$button.on("blur"+j,function(){i.$element.trigger("focus").trigger("blur"),i.$button.off("blur"+j)})}),setTimeout(function(){i.buildList(),i.$element.trigger("loaded"+j)})},createDropdown:function(){var e=this.multiple||this.options.showTick?" show-tick":"",t=this.multiple?' aria-multiselectable="true"':"",i="",s=this.autofocus?" autofocus":"";M.major<4&&this.$element.parent().hasClass("input-group")&&(i=" input-group-btn");var n,o="",r="",l="",a="";return this.options.header&&(o='
'+this.options.header+"
"),this.options.liveSearch&&(r=''),this.multiple&&this.options.actionsBox&&(l='
"),this.multiple&&this.options.doneButton&&(a='
"),n='",P(n)},setPositionData:function(){this.selectpicker.view.canHighlight=[],this.selectpicker.view.size=0,this.selectpicker.view.firstHighlightIndex=!1;for(var e=0;e=this.options.virtualScroll||!0===this.options.virtualScroll},createView:function(N,e,t){var A,L,D=this,i=0,H=[];if(this.selectpicker.isSearching=N,this.selectpicker.current=N?this.selectpicker.search:this.selectpicker.main,this.setPositionData(),e)if(t)i=this.$menuInner[0].scrollTop;else if(!D.multiple){var s=D.$element[0],n=(s.options[s.selectedIndex]||{}).liIndex;if("number"==typeof n&&!1!==D.options.size){var o=D.selectpicker.main.data[n],r=o&&o.position;r&&(i=r-(D.sizeInfo.menuInnerHeight+D.sizeInfo.liHeight)/2)}}function l(e,t){var i,s,n,o,r,l,a,c,d=D.selectpicker.current.elements.length,h=[],p=!0,u=D.isVirtual();D.selectpicker.view.scrollTop=e,i=Math.ceil(D.sizeInfo.menuInnerHeight/D.sizeInfo.liHeight*1.5),s=Math.round(d/i)||1;for(var f=0;fd-1?0:D.selectpicker.current.data[d-1].position-D.selectpicker.current.data[D.selectpicker.view.position1-1].position,b.firstChild.style.marginTop=v+"px",b.firstChild.style.marginBottom=g+"px"):(b.firstChild.style.marginTop=0,b.firstChild.style.marginBottom=0),b.firstChild.appendChild(w),!0===u&&D.sizeInfo.hasScrollBar){var C=b.firstChild.offsetWidth;if(t&&CD.sizeInfo.selectWidth)b.firstChild.style.minWidth=D.sizeInfo.menuInnerInnerWidth+"px";else if(C>D.sizeInfo.menuInnerInnerWidth){D.$menu[0].style.minWidth=0;var O=b.firstChild.offsetWidth;O>D.sizeInfo.menuInnerInnerWidth&&(D.sizeInfo.menuInnerInnerWidth=O,b.firstChild.style.minWidth=D.sizeInfo.menuInnerInnerWidth+"px"),D.$menu[0].style.minWidth=""}}}if(D.prevActiveIndex=D.activeIndex,D.options.liveSearch){if(N&&t){var z,T=0;D.selectpicker.view.canHighlight[T]||(T=1+D.selectpicker.view.canHighlight.slice(1).indexOf(!0)),z=D.selectpicker.view.visibleElements[T],D.defocusItem(D.selectpicker.view.currentActive),D.activeIndex=(D.selectpicker.current.data[T]||{}).index,D.focusItem(z)}}else D.$menuInner.trigger("focus")}l(i,!0),this.$menuInner.off("scroll.createView").on("scroll.createView",function(e,t){D.noScroll||l(this.scrollTop,t),D.noScroll=!1}),P(window).off("resize"+j+"."+this.selectId+".createView").on("resize"+j+"."+this.selectId+".createView",function(){D.$newElement.hasClass(V.SHOW)&&l(D.$menuInner[0].scrollTop)})},focusItem:function(e,t,i){if(e){t=t||this.selectpicker.main.data[this.activeIndex];var s=e.firstChild;s&&(s.setAttribute("aria-setsize",this.selectpicker.view.size),s.setAttribute("aria-posinset",t.posinset),!0!==i&&(this.focusedParent.setAttribute("aria-activedescendant",s.id),e.classList.add("active"),s.classList.add("active")))}},defocusItem:function(e){e&&(e.classList.remove("active"),e.firstChild&&e.firstChild.classList.remove("active"))},setPlaceholder:function(){var e=this,t=!1;if(this.options.title&&!this.multiple){this.selectpicker.view.titleOption||(this.selectpicker.view.titleOption=document.createElement("option")),t=!0;var i=this.$element[0],s=!1,n=!this.selectpicker.view.titleOption.parentNode,o=i.selectedIndex,r=i.options[o],l=window.performance&&window.performance.getEntriesByType("navigation"),a=l&&l.length?"back_forward"!==l[0].type:2!==window.performance.navigation.type;n&&(this.selectpicker.view.titleOption.className="bs-title-option",this.selectpicker.view.titleOption.value="",s=!r||0===o&&!1===r.defaultSelected&&void 0===this.$element.data("selected")),!n&&0===this.selectpicker.view.titleOption.index||i.insertBefore(this.selectpicker.view.titleOption,i.firstChild),s&&a?i.selectedIndex=0:"complete"!==document.readyState&&window.addEventListener("pageshow",function(){e.selectpicker.view.displayedValue!==i.value&&e.render()})}return t},buildData:function(){var p=':not([hidden]):not([data-hidden="true"])',u=[],f=0,m=this.setPlaceholder()?1:0;this.options.hideDisabled&&(p+=":not(:disabled)");var e=this.$element[0].querySelectorAll("select > *"+p);function v(e){var t=u[u.length-1];t&&"divider"===t.type&&(t.optID||e.optID)||((e=e||{}).type="divider",u.push(e))}function g(e,t){if((t=t||{}).divider="true"===e.getAttribute("data-divider"),t.divider)v({optID:t.optID});else{var i=u.length,s=e.style.cssText,n=s?S(s):"",o=(e.className||"")+(t.optgroupClass||"");t.optID&&(o="opt "+o),t.optionClass=o.trim(),t.inlineStyle=n,t.text=e.textContent,t.content=e.getAttribute("data-content"),t.tokens=e.getAttribute("data-tokens"),t.subtext=e.getAttribute("data-subtext"),t.icon=e.getAttribute("data-icon"),e.liIndex=i,t.display=t.content||t.text,t.type="option",t.index=i,t.option=e,t.selected=!!e.selected,t.disabled=t.disabled||!!e.disabled,u.push(t)}}function t(e,t){var i=t[e],s=!(e-1 li")},render:function(){var e,t=this,i=this.$element[0],s=this.setPlaceholder()&&0===i.selectedIndex,n=O(i,this.options.hideDisabled),o=n.length,r=this.$button[0],l=r.querySelector(".filter-option-inner-inner"),a=document.createTextNode(this.options.multipleSeparator),c=_.fragment.cloneNode(!1),d=!1;if(r.classList.toggle("bs-placeholder",t.multiple?!o:!z(i,n)),t.multiple||1!==n.length||(t.selectpicker.view.displayedValue=z(i,n)),"static"===this.options.selectedTextFormat)c=K.text.call(this,{text:this.options.title},!0);else if(!1===(this.multiple&&-1!==this.options.selectedTextFormat.indexOf("count")&&1")).length&&o>e[1]||1===e.length&&2<=o))){if(!s){for(var h=0;h option"+m+", optgroup"+m+" option"+m).length,g="function"==typeof this.options.countSelectedText?this.options.countSelectedText(o,v):this.options.countSelectedText;c=K.text.call(this,{text:g.replace("{0}",o.toString()).replace("{1}",v.toString())},!0)}if(null==this.options.title&&(this.options.title=this.$element.attr("title")),c.childNodes.length||(c=K.text.call(this,{text:void 0!==this.options.title?this.options.title:this.options.noneSelectedText},!0)),r.title=c.textContent.replace(/<[^>]*>?/g,"").trim(),this.options.sanitize&&d&&W([c],t.options.whiteList,t.options.sanitizeFn),l.innerHTML="",l.appendChild(c),M.major<4&&this.$newElement[0].classList.contains("bs3-has-addon")){var b=r.querySelector(".filter-expand"),w=l.cloneNode(!0);w.className="filter-expand",b?r.replaceChild(w,b):r.appendChild(w)}this.$element.trigger("rendered"+j)},setStyle:function(e,t){var i,s=this.$button[0],n=this.$newElement[0],o=this.options.style.trim();this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,"")),M.major<4&&(n.classList.add("bs3"),n.parentNode.classList&&n.parentNode.classList.contains("input-group")&&(n.previousElementSibling||n.nextElementSibling)&&(n.previousElementSibling||n.nextElementSibling).classList.contains("input-group-addon")&&n.classList.add("bs3-has-addon")),i=e?e.trim():o,"add"==t?i&&s.classList.add.apply(s.classList,i.split(" ")):"remove"==t?i&&s.classList.remove.apply(s.classList,i.split(" ")):(o&&s.classList.remove.apply(s.classList,o.split(" ")),i&&s.classList.add.apply(s.classList,i.split(" ")))},liHeight:function(e){if(e||!1!==this.options.size&&!Object.keys(this.sizeInfo).length){var t,i=_.div.cloneNode(!1),s=_.div.cloneNode(!1),n=_.div.cloneNode(!1),o=document.createElement("ul"),r=_.li.cloneNode(!1),l=_.li.cloneNode(!1),a=_.a.cloneNode(!1),c=_.span.cloneNode(!1),d=this.options.header&&0this.sizeInfo.menuExtras.vert&&l+this.sizeInfo.menuExtras.vert+50>this.sizeInfo.selectOffsetBot,!0===this.selectpicker.isSearching&&(a=this.selectpicker.dropup),this.$newElement.toggleClass(V.DROPUP,a),this.selectpicker.dropup=a),"auto"===this.options.size)n=3this.options.size){for(var b=0;bthis.sizeInfo.menuInnerHeight&&(this.sizeInfo.hasScrollBar=!0,this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth+this.sizeInfo.scrollBarWidth),"auto"===this.options.dropdownAlignRight&&this.$menu.toggleClass(V.MENURIGHT,this.sizeInfo.selectOffsetLeft>this.sizeInfo.selectOffsetRight&&this.sizeInfo.selectOffsetRightthis.options.size&&i.off("resize"+j+"."+this.selectId+".setMenuSize scroll"+j+"."+this.selectId+".setMenuSize")}this.createView(!1,!0,e)},setWidth:function(){var i=this;"auto"===this.options.width?requestAnimationFrame(function(){i.$menu.css("min-width","0"),i.$element.on("loaded"+j,function(){i.liHeight(),i.setMenuSize();var e=i.$newElement.clone().appendTo("body"),t=e.css("width","auto").children("button").outerWidth();e.remove(),i.sizeInfo.selectWidth=Math.max(i.sizeInfo.totalMenuWidth,t),i.$newElement.css("width",i.sizeInfo.selectWidth+"px")})}):"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width","")),this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement[0].classList.remove("fit-width")},selectPosition:function(){this.$bsContainer=P('
');function e(e){var t={},i=r.options.display||!!P.fn.dropdown.Constructor.Default&&P.fn.dropdown.Constructor.Default.display;r.$bsContainer.addClass(e.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass(V.DROPUP,e.hasClass(V.DROPUP)),s=e.offset(),l.is("body")?n={top:0,left:0}:((n=l.offset()).top+=parseInt(l.css("borderTopWidth"))-l.scrollTop(),n.left+=parseInt(l.css("borderLeftWidth"))-l.scrollLeft()),o=e.hasClass(V.DROPUP)?0:e[0].offsetHeight,(M.major<4||"static"===i)&&(t.top=s.top-n.top+o,t.left=s.left-n.left),t.width=e[0].offsetWidth,r.$bsContainer.css(t)}var s,n,o,r=this,l=P(this.options.container);this.$button.on("click.bs.dropdown.data-api",function(){r.isDisabled()||(e(r.$newElement),r.$bsContainer.appendTo(r.options.container).toggleClass(V.SHOW,!r.$button.hasClass(V.SHOW)).append(r.$menu))}),P(window).off("resize"+j+"."+this.selectId+" scroll"+j+"."+this.selectId).on("resize"+j+"."+this.selectId+" scroll"+j+"."+this.selectId,function(){r.$newElement.hasClass(V.SHOW)&&e(r.$newElement)}),this.$element.on("hide"+j,function(){r.$menu.data("height",r.$menu.height()),r.$bsContainer.detach()})},setOptionStatus:function(e){var t=this;if(t.noScroll=!1,t.selectpicker.view.visibleElements&&t.selectpicker.view.visibleElements.length)for(var i=0;i
');y[2]&&($=$.replace("{var}",y[2][1"+$+"")),d=!1,C.$element.trigger("maxReached"+j)),g&&w&&(E.append(P("
"+S+"
")),d=!1,C.$element.trigger("maxReachedGrp"+j)),setTimeout(function(){C.setSelected(r,!1)},10),E[0].classList.add("fadeOut"),setTimeout(function(){E.remove()},1050)}}}else c&&(c.selected=!1),h.selected=!0,C.setSelected(r,!0);!C.multiple||C.multiple&&1===C.options.maxOptions?C.$button.trigger("focus"):C.options.liveSearch&&C.$searchbox.trigger("focus"),d&&(!C.multiple&&a===s.selectedIndex||(T=[h.index,p.prop("selected"),l],C.$element.triggerNative("change")))}}),this.$menu.on("click","li."+V.DISABLED+" a, ."+V.POPOVERHEADER+", ."+V.POPOVERHEADER+" :not(.close)",function(e){e.currentTarget==this&&(e.preventDefault(),e.stopPropagation(),C.options.liveSearch&&!P(e.target).hasClass("close")?C.$searchbox.trigger("focus"):C.$button.trigger("focus"))}),this.$menuInner.on("click",".divider, .dropdown-header",function(e){e.preventDefault(),e.stopPropagation(),C.options.liveSearch?C.$searchbox.trigger("focus"):C.$button.trigger("focus")}),this.$menu.on("click","."+V.POPOVERHEADER+" .close",function(){C.$button.trigger("click")}),this.$searchbox.on("click",function(e){e.stopPropagation()}),this.$menu.on("click",".actions-btn",function(e){C.options.liveSearch?C.$searchbox.trigger("focus"):C.$button.trigger("focus"),e.preventDefault(),e.stopPropagation(),P(this).hasClass("bs-select-all")?C.selectAll():C.deselectAll()}),this.$button.on("focus"+j,function(e){var t=C.$element[0].getAttribute("tabindex");void 0!==t&&e.originalEvent&&e.originalEvent.isTrusted&&(this.setAttribute("tabindex",t),C.$element[0].setAttribute("tabindex",-1),C.selectpicker.view.tabindex=t)}).on("blur"+j,function(e){void 0!==C.selectpicker.view.tabindex&&e.originalEvent&&e.originalEvent.isTrusted&&(C.$element[0].setAttribute("tabindex",C.selectpicker.view.tabindex),this.setAttribute("tabindex",-1),C.selectpicker.view.tabindex=void 0)}),this.$element.on("change"+j,function(){C.render(),C.$element.trigger("changed"+j,T),T=null}).on("focus"+j,function(){C.options.mobile||C.$button[0].focus()})},liveSearchListener:function(){var u=this;this.$button.on("click.bs.dropdown.data-api",function(){u.$searchbox.val()&&(u.$searchbox.val(""),u.selectpicker.search.previousValue=void 0)}),this.$searchbox.on("click.bs.dropdown.data-api focus.bs.dropdown.data-api touchend.bs.dropdown.data-api",function(e){e.stopPropagation()}),this.$searchbox.on("input propertychange",function(){var e=u.$searchbox[0].value;if(u.selectpicker.search.elements=[],u.selectpicker.search.data=[],e){var t=[],i=e.toUpperCase(),s={},n=[],o=u._searchStyle(),r=u.options.liveSearchNormalize;r&&(i=w(i));for(var l=0;l=a.selectpicker.view.canHighlight.length&&(t=a.selectpicker.view.firstHighlightIndex),a.selectpicker.view.canHighlight[t+f]||(t=t+1+a.selectpicker.view.canHighlight.slice(t+f+1).indexOf(!0))),e.preventDefault();var m=f+t;e.which===B?0===f&&t===c.length-1?(a.$menuInner[0].scrollTop=a.$menuInner[0].scrollHeight,m=a.selectpicker.current.elements.length-1):d=(o=(n=a.selectpicker.current.data[m]).position-n.height)u+a.sizeInfo.menuInnerHeight),s=a.selectpicker.main.elements[v],a.activeIndex=b[x],a.focusItem(s),s&&s.firstChild.focus(),d&&(a.$menuInner[0].scrollTop=o),r.trigger("focus")}}i&&(e.which===D&&!a.selectpicker.keydown.keyHistory||e.which===L||e.which===H&&a.options.selectOnTab)&&(e.which!==D&&e.preventDefault(),a.options.liveSearch&&e.which===D||(a.$menuInner.find(".active a").trigger("click",!0),r.trigger("focus"),a.options.liveSearch||(e.preventDefault(),P(document).data("spaceSelect",!0))))}},mobile:function(){this.options.mobile=!0,this.$element[0].classList.add("mobile-device")},refresh:function(){var e=P.extend({},this.options,this.$element.data());this.options=e,this.checkDisabled(),this.buildData(),this.setStyle(),this.render(),this.buildList(),this.setWidth(),this.setSize(!0),this.$element.trigger("refreshed"+j)},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.selectpicker.view.titleOption&&this.selectpicker.view.titleOption.parentNode&&this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption),this.$element.off(j).removeData("selectpicker").removeClass("bs-select-hidden selectpicker"),P(window).off(j+"."+this.selectId)}};var J=P.fn.selectpicker;function Q(){if(P.fn.dropdown)return(P.fn.dropdown.Constructor._dataApiKeydownHandler||P.fn.dropdown.Constructor.prototype.keydown).apply(this,arguments)}P.fn.selectpicker=Z,P.fn.selectpicker.Constructor=Y,P.fn.selectpicker.noConflict=function(){return P.fn.selectpicker=J,this},P(document).off("keydown.bs.dropdown.data-api").on("keydown.bs.dropdown.data-api",':not(.bootstrap-select) > [data-toggle="dropdown"]',Q).on("keydown.bs.dropdown.data-api",":not(.bootstrap-select) > .dropdown-menu",Q).on("keydown"+j,'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',Y.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',function(e){e.stopPropagation()}),P(window).on("load"+j+".data-api",function(){P(".selectpicker").each(function(){var e=P(this);Z.call(e,e.data())})})}(e)}); +//# sourceMappingURL=bootstrap-select.min.js.map \ No newline at end of file diff --git a/key4intranet.front/public/assets/js/bootstrap/bootstrap-select.min.js.map b/key4intranet.front/public/assets/js/bootstrap/bootstrap-select.min.js.map new file mode 100644 index 0000000..f737e8c --- /dev/null +++ b/key4intranet.front/public/assets/js/bootstrap/bootstrap-select.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/bootstrap-select.js"],"names":[],"mappings":"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AG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAChC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAChC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAClB,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/B,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,IAAI,EAAE,KAAK,EAAE,CA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EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,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","file":"bootstrap-select.js","sourcesContent":["(function ($) {\r\n 'use strict';\r\n\r\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\r\n\r\n var uriAttrs = [\r\n 'background',\r\n 'cite',\r\n 'href',\r\n 'itemtype',\r\n 'longdesc',\r\n 'poster',\r\n 'src',\r\n 'xlink:href'\r\n ];\r\n\r\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n var DefaultWhitelist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: []\r\n }\r\n\r\n /**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\r\n\r\n /**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\r\n\r\n function allowedAttribute (attr, allowedAttributeList) {\r\n var attrName = attr.nodeName.toLowerCase()\r\n\r\n if ($.inArray(attrName, allowedAttributeList) !== -1) {\r\n if ($.inArray(attrName, uriAttrs) !== -1) {\r\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\r\n }\r\n\r\n return true\r\n }\r\n\r\n var regExp = $(allowedAttributeList).filter(function (index, value) {\r\n return value instanceof RegExp\r\n })\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (var i = 0, l = regExp.length; i < l; i++) {\r\n if (attrName.match(regExp[i])) {\r\n return true\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n function sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeElements);\r\n }\r\n\r\n var whitelistKeys = Object.keys(whiteList);\r\n\r\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\r\n var elements = unsafeElements[i].querySelectorAll('*');\r\n\r\n for (var j = 0, len2 = elements.length; j < len2; j++) {\r\n var el = elements[j];\r\n var elName = el.nodeName.toLowerCase();\r\n\r\n if (whitelistKeys.indexOf(elName) === -1) {\r\n el.parentNode.removeChild(el);\r\n\r\n continue;\r\n }\r\n\r\n var attributeList = [].slice.call(el.attributes);\r\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\r\n\r\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\r\n var attr = attributeList[k];\r\n\r\n if (!allowedAttribute(attr, whitelistedAttributes)) {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Polyfill for browsers with no classList support\r\n // Remove in v2\r\n if (!('classList' in document.createElement('_'))) {\r\n (function (view) {\r\n if (!('Element' in view)) return;\r\n\r\n var classListProp = 'classList',\r\n protoProp = 'prototype',\r\n elemCtrProto = view.Element[protoProp],\r\n objCtr = Object,\r\n classListGetter = function () {\r\n var $elem = $(this);\r\n\r\n return {\r\n add: function (classes) {\r\n classes = Array.prototype.slice.call(arguments).join(' ');\r\n return $elem.addClass(classes);\r\n },\r\n remove: function (classes) {\r\n classes = Array.prototype.slice.call(arguments).join(' ');\r\n return $elem.removeClass(classes);\r\n },\r\n toggle: function (classes, force) {\r\n return $elem.toggleClass(classes, force);\r\n },\r\n contains: function (classes) {\r\n return $elem.hasClass(classes);\r\n }\r\n }\r\n };\r\n\r\n if (objCtr.defineProperty) {\r\n var classListPropDesc = {\r\n get: classListGetter,\r\n enumerable: true,\r\n configurable: true\r\n };\r\n try {\r\n objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\r\n } catch (ex) { // IE 8 doesn't support enumerable:true\r\n // adding undefined to fight this issue https://github.com/eligrey/classList.js/issues/36\r\n // modernie IE8-MSW7 machine has IE8 8.0.6001.18702 and is affected\r\n if (ex.number === undefined || ex.number === -0x7FF5EC54) {\r\n classListPropDesc.enumerable = false;\r\n objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\r\n }\r\n }\r\n } else if (objCtr[protoProp].__defineGetter__) {\r\n elemCtrProto.__defineGetter__(classListProp, classListGetter);\r\n }\r\n }(window));\r\n }\r\n\r\n var testElement = document.createElement('_');\r\n\r\n testElement.classList.add('c1', 'c2');\r\n\r\n if (!testElement.classList.contains('c2')) {\r\n var _add = DOMTokenList.prototype.add,\r\n _remove = DOMTokenList.prototype.remove;\r\n\r\n DOMTokenList.prototype.add = function () {\r\n Array.prototype.forEach.call(arguments, _add.bind(this));\r\n }\r\n\r\n DOMTokenList.prototype.remove = function () {\r\n Array.prototype.forEach.call(arguments, _remove.bind(this));\r\n }\r\n }\r\n\r\n testElement.classList.toggle('c3', false);\r\n\r\n // Polyfill for IE 10 and Firefox <24, where classList.toggle does not\r\n // support the second argument.\r\n if (testElement.classList.contains('c3')) {\r\n var _toggle = DOMTokenList.prototype.toggle;\r\n\r\n DOMTokenList.prototype.toggle = function (token, force) {\r\n if (1 in arguments && !this.contains(token) === !force) {\r\n return force;\r\n } else {\r\n return _toggle.call(this, token);\r\n }\r\n };\r\n }\r\n\r\n testElement = null;\r\n\r\n // shallow array comparison\r\n function isEqual (array1, array2) {\r\n return array1.length === array2.length && array1.every(function (element, index) {\r\n return element === array2[index];\r\n });\r\n };\r\n\r\n // \r\n if (!String.prototype.startsWith) {\r\n (function () {\r\n 'use strict'; // needed to support `apply`/`call` with `undefined`/`null`\r\n var defineProperty = (function () {\r\n // IE 8 only supports `Object.defineProperty` on DOM elements\r\n try {\r\n var object = {};\r\n var $defineProperty = Object.defineProperty;\r\n var result = $defineProperty(object, object, object) && $defineProperty;\r\n } catch (error) {\r\n }\r\n return result;\r\n }());\r\n var toString = {}.toString;\r\n var startsWith = function (search) {\r\n if (this == null) {\r\n throw new TypeError();\r\n }\r\n var string = String(this);\r\n if (search && toString.call(search) == '[object RegExp]') {\r\n throw new TypeError();\r\n }\r\n var stringLength = string.length;\r\n var searchString = String(search);\r\n var searchLength = searchString.length;\r\n var position = arguments.length > 1 ? arguments[1] : undefined;\r\n // `ToInteger`\r\n var pos = position ? Number(position) : 0;\r\n if (pos != pos) { // better `isNaN`\r\n pos = 0;\r\n }\r\n var start = Math.min(Math.max(pos, 0), stringLength);\r\n // Avoid the `indexOf` call if no match is possible\r\n if (searchLength + start > stringLength) {\r\n return false;\r\n }\r\n var index = -1;\r\n while (++index < searchLength) {\r\n if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n if (defineProperty) {\r\n defineProperty(String.prototype, 'startsWith', {\r\n 'value': startsWith,\r\n 'configurable': true,\r\n 'writable': true\r\n });\r\n } else {\r\n String.prototype.startsWith = startsWith;\r\n }\r\n }());\r\n }\r\n\r\n if (!Object.keys) {\r\n Object.keys = function (\r\n o, // object\r\n k, // key\r\n r // result array\r\n ) {\r\n // initialize object and result\r\n r = [];\r\n // iterate over object keys\r\n for (k in o) {\r\n // fill result array with non-prototypical keys\r\n r.hasOwnProperty.call(o, k) && r.push(k);\r\n }\r\n // return result\r\n return r;\r\n };\r\n }\r\n\r\n if (HTMLSelectElement && !HTMLSelectElement.prototype.hasOwnProperty('selectedOptions')) {\r\n Object.defineProperty(HTMLSelectElement.prototype, 'selectedOptions', {\r\n get: function () {\r\n return this.querySelectorAll(':checked');\r\n }\r\n });\r\n }\r\n\r\n function getSelectedOptions (select, ignoreDisabled) {\r\n var selectedOptions = select.selectedOptions,\r\n options = [],\r\n opt;\r\n\r\n if (ignoreDisabled) {\r\n for (var i = 0, len = selectedOptions.length; i < len; i++) {\r\n opt = selectedOptions[i];\r\n\r\n if (!(opt.disabled || opt.parentNode.tagName === 'OPTGROUP' && opt.parentNode.disabled)) {\r\n options.push(opt);\r\n }\r\n }\r\n\r\n return options;\r\n }\r\n\r\n return selectedOptions;\r\n }\r\n\r\n // much faster than $.val()\r\n function getSelectValues (select, selectedOptions) {\r\n var value = [],\r\n options = selectedOptions || select.selectedOptions,\r\n opt;\r\n\r\n for (var i = 0, len = options.length; i < len; i++) {\r\n opt = options[i];\r\n\r\n if (!(opt.disabled || opt.parentNode.tagName === 'OPTGROUP' && opt.parentNode.disabled)) {\r\n value.push(opt.value);\r\n }\r\n }\r\n\r\n if (!select.multiple) {\r\n return !value.length ? null : value[0];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n // set data-selected on select element if the value has been programmatically selected\r\n // prior to initialization of bootstrap-select\r\n // * consider removing or replacing an alternative method *\r\n var valHooks = {\r\n useDefault: false,\r\n _set: $.valHooks.select.set\r\n };\r\n\r\n $.valHooks.select.set = function (elem, value) {\r\n if (value && !valHooks.useDefault) $(elem).data('selected', true);\r\n\r\n return valHooks._set.apply(this, arguments);\r\n };\r\n\r\n var changedArguments = null;\r\n\r\n var EventIsSupported = (function () {\r\n try {\r\n new Event('change');\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n })();\r\n\r\n $.fn.triggerNative = function (eventName) {\r\n var el = this[0],\r\n event;\r\n\r\n if (el.dispatchEvent) { // for modern browsers & IE9+\r\n if (EventIsSupported) {\r\n // For modern browsers\r\n event = new Event(eventName, {\r\n bubbles: true\r\n });\r\n } else {\r\n // For IE since it doesn't support Event constructor\r\n event = document.createEvent('Event');\r\n event.initEvent(eventName, true, false);\r\n }\r\n\r\n el.dispatchEvent(event);\r\n } else if (el.fireEvent) { // for IE8\r\n event = document.createEventObject();\r\n event.eventType = eventName;\r\n el.fireEvent('on' + eventName, event);\r\n } else {\r\n // fall back to jQuery.trigger\r\n this.trigger(eventName);\r\n }\r\n };\r\n // \r\n\r\n function stringSearch (li, searchString, method, normalize) {\r\n var stringTypes = [\r\n 'display',\r\n 'subtext',\r\n 'tokens'\r\n ],\r\n searchSuccess = false;\r\n\r\n for (var i = 0; i < stringTypes.length; i++) {\r\n var stringType = stringTypes[i],\r\n string = li[stringType];\r\n\r\n if (string) {\r\n string = string.toString();\r\n\r\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\r\n if (stringType === 'display') {\r\n string = string.replace(/<[^>]+>/g, '');\r\n }\r\n\r\n if (normalize) string = normalizeToBase(string);\r\n string = string.toUpperCase();\r\n\r\n if (method === 'contains') {\r\n searchSuccess = string.indexOf(searchString) >= 0;\r\n } else {\r\n searchSuccess = string.startsWith(searchString);\r\n }\r\n\r\n if (searchSuccess) break;\r\n }\r\n }\r\n\r\n return searchSuccess;\r\n }\r\n\r\n function toInteger (value) {\r\n return parseInt(value, 10) || 0;\r\n }\r\n\r\n // Borrowed from Lodash (_.deburr)\r\n /** Used to map Latin Unicode letters to basic Latin letters. */\r\n var deburredLetters = {\r\n // Latin-1 Supplement block.\r\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\r\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\r\n '\\xc7': 'C', '\\xe7': 'c',\r\n '\\xd0': 'D', '\\xf0': 'd',\r\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\r\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\r\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\r\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\r\n '\\xd1': 'N', '\\xf1': 'n',\r\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\r\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\r\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\r\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\r\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\r\n '\\xc6': 'Ae', '\\xe6': 'ae',\r\n '\\xde': 'Th', '\\xfe': 'th',\r\n '\\xdf': 'ss',\r\n // Latin Extended-A block.\r\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\r\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\r\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\r\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\r\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\r\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\r\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\r\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\r\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\r\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\r\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\r\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\r\n '\\u0134': 'J', '\\u0135': 'j',\r\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\r\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\r\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\r\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\r\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\r\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\r\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\r\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\r\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\r\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\r\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\r\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\r\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\r\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\r\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\r\n '\\u0174': 'W', '\\u0175': 'w',\r\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\r\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\r\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\r\n '\\u0132': 'IJ', '\\u0133': 'ij',\r\n '\\u0152': 'Oe', '\\u0153': 'oe',\r\n '\\u0149': \"'n\", '\\u017f': 's'\r\n };\r\n\r\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\r\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\r\n\r\n /** Used to compose unicode character classes. */\r\n var rsComboMarksRange = '\\\\u0300-\\\\u036f',\r\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\r\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\r\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\r\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\r\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\r\n\r\n /** Used to compose unicode capture groups. */\r\n var rsCombo = '[' + rsComboRange + ']';\r\n\r\n /**\r\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\r\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\r\n */\r\n var reComboMark = RegExp(rsCombo, 'g');\r\n\r\n function deburrLetter (key) {\r\n return deburredLetters[key];\r\n };\r\n\r\n function normalizeToBase (string) {\r\n string = string.toString();\r\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\r\n }\r\n\r\n // List of HTML entities for escaping.\r\n var escapeMap = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n '`': '`'\r\n };\r\n\r\n // Functions for escaping and unescaping strings to/from HTML interpolation.\r\n var createEscaper = function (map) {\r\n var escaper = function (match) {\r\n return map[match];\r\n };\r\n // Regexes for identifying a key that needs to be escaped.\r\n var source = '(?:' + Object.keys(map).join('|') + ')';\r\n var testRegexp = RegExp(source);\r\n var replaceRegexp = RegExp(source, 'g');\r\n return function (string) {\r\n string = string == null ? '' : '' + string;\r\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\r\n };\r\n };\r\n\r\n var htmlEscape = createEscaper(escapeMap);\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var keyCodeMap = {\r\n 32: ' ',\r\n 48: '0',\r\n 49: '1',\r\n 50: '2',\r\n 51: '3',\r\n 52: '4',\r\n 53: '5',\r\n 54: '6',\r\n 55: '7',\r\n 56: '8',\r\n 57: '9',\r\n 59: ';',\r\n 65: 'A',\r\n 66: 'B',\r\n 67: 'C',\r\n 68: 'D',\r\n 69: 'E',\r\n 70: 'F',\r\n 71: 'G',\r\n 72: 'H',\r\n 73: 'I',\r\n 74: 'J',\r\n 75: 'K',\r\n 76: 'L',\r\n 77: 'M',\r\n 78: 'N',\r\n 79: 'O',\r\n 80: 'P',\r\n 81: 'Q',\r\n 82: 'R',\r\n 83: 'S',\r\n 84: 'T',\r\n 85: 'U',\r\n 86: 'V',\r\n 87: 'W',\r\n 88: 'X',\r\n 89: 'Y',\r\n 90: 'Z',\r\n 96: '0',\r\n 97: '1',\r\n 98: '2',\r\n 99: '3',\r\n 100: '4',\r\n 101: '5',\r\n 102: '6',\r\n 103: '7',\r\n 104: '8',\r\n 105: '9'\r\n };\r\n\r\n var keyCodes = {\r\n ESCAPE: 27, // KeyboardEvent.which value for Escape (Esc) key\r\n ENTER: 13, // KeyboardEvent.which value for Enter key\r\n SPACE: 32, // KeyboardEvent.which value for space key\r\n TAB: 9, // KeyboardEvent.which value for tab key\r\n ARROW_UP: 38, // KeyboardEvent.which value for up arrow key\r\n ARROW_DOWN: 40 // KeyboardEvent.which value for down arrow key\r\n }\r\n\r\n var version = {\r\n success: false,\r\n major: '3'\r\n };\r\n\r\n try {\r\n version.full = ($.fn.dropdown.Constructor.VERSION || '').split(' ')[0].split('.');\r\n version.major = version.full[0];\r\n version.success = true;\r\n } catch (err) {\r\n // do nothing\r\n }\r\n\r\n var selectId = 0;\r\n\r\n var EVENT_KEY = '.bs.select';\r\n\r\n var classNames = {\r\n DISABLED: 'disabled',\r\n DIVIDER: 'divider',\r\n SHOW: 'open',\r\n DROPUP: 'dropup',\r\n MENU: 'dropdown-menu',\r\n MENURIGHT: 'dropdown-menu-right',\r\n MENULEFT: 'dropdown-menu-left',\r\n // to-do: replace with more advanced template/customization options\r\n BUTTONCLASS: 'btn-default',\r\n POPOVERHEADER: 'popover-title',\r\n ICONBASE: 'glyphicon',\r\n TICKICON: 'glyphicon-ok'\r\n }\r\n\r\n var Selector = {\r\n MENU: '.' + classNames.MENU\r\n }\r\n\r\n var elementTemplates = {\r\n span: document.createElement('span'),\r\n i: document.createElement('i'),\r\n subtext: document.createElement('small'),\r\n a: document.createElement('a'),\r\n li: document.createElement('li'),\r\n whitespace: document.createTextNode('\\u00A0'),\r\n fragment: document.createDocumentFragment()\r\n }\r\n\r\n elementTemplates.a.setAttribute('role', 'option');\r\n if (version.major === '4') elementTemplates.a.className = 'dropdown-item';\r\n\r\n elementTemplates.subtext.className = 'text-muted';\r\n\r\n elementTemplates.text = elementTemplates.span.cloneNode(false);\r\n elementTemplates.text.className = 'text';\r\n\r\n elementTemplates.checkMark = elementTemplates.span.cloneNode(false);\r\n\r\n var REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\r\n var REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\r\n\r\n var generateOption = {\r\n li: function (content, classes, optgroup) {\r\n var li = elementTemplates.li.cloneNode(false);\r\n\r\n if (content) {\r\n if (content.nodeType === 1 || content.nodeType === 11) {\r\n li.appendChild(content);\r\n } else {\r\n li.innerHTML = content;\r\n }\r\n }\r\n\r\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\r\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\r\n\r\n return li;\r\n },\r\n\r\n a: function (text, classes, inline) {\r\n var a = elementTemplates.a.cloneNode(true);\r\n\r\n if (text) {\r\n if (text.nodeType === 11) {\r\n a.appendChild(text);\r\n } else {\r\n a.insertAdjacentHTML('beforeend', text);\r\n }\r\n }\r\n\r\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(' '));\r\n if (inline) a.setAttribute('style', inline);\r\n\r\n return a;\r\n },\r\n\r\n text: function (options, useFragment) {\r\n var textElement = elementTemplates.text.cloneNode(false),\r\n subtextElement,\r\n iconElement;\r\n\r\n if (options.content) {\r\n textElement.innerHTML = options.content;\r\n } else {\r\n textElement.textContent = options.text;\r\n\r\n if (options.icon) {\r\n var whitespace = elementTemplates.whitespace.cloneNode(false);\r\n\r\n // need to use for icons in the button to prevent a breaking change\r\n // note: switch to span in next major release\r\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\r\n iconElement.className = this.options.iconBase + ' ' + options.icon;\r\n\r\n elementTemplates.fragment.appendChild(iconElement);\r\n elementTemplates.fragment.appendChild(whitespace);\r\n }\r\n\r\n if (options.subtext) {\r\n subtextElement = elementTemplates.subtext.cloneNode(false);\r\n subtextElement.textContent = options.subtext;\r\n textElement.appendChild(subtextElement);\r\n }\r\n }\r\n\r\n if (useFragment === true) {\r\n while (textElement.childNodes.length > 0) {\r\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\r\n }\r\n } else {\r\n elementTemplates.fragment.appendChild(textElement);\r\n }\r\n\r\n return elementTemplates.fragment;\r\n },\r\n\r\n label: function (options) {\r\n var textElement = elementTemplates.text.cloneNode(false),\r\n subtextElement,\r\n iconElement;\r\n\r\n textElement.innerHTML = options.display;\r\n\r\n if (options.icon) {\r\n var whitespace = elementTemplates.whitespace.cloneNode(false);\r\n\r\n iconElement = elementTemplates.span.cloneNode(false);\r\n iconElement.className = this.options.iconBase + ' ' + options.icon;\r\n\r\n elementTemplates.fragment.appendChild(iconElement);\r\n elementTemplates.fragment.appendChild(whitespace);\r\n }\r\n\r\n if (options.subtext) {\r\n subtextElement = elementTemplates.subtext.cloneNode(false);\r\n subtextElement.textContent = options.subtext;\r\n textElement.appendChild(subtextElement);\r\n }\r\n\r\n elementTemplates.fragment.appendChild(textElement);\r\n\r\n return elementTemplates.fragment;\r\n }\r\n }\r\n\r\n var Selectpicker = function (element, options) {\r\n var that = this;\r\n\r\n // bootstrap-select has been initialized - revert valHooks.select.set back to its original function\r\n if (!valHooks.useDefault) {\r\n $.valHooks.select.set = valHooks._set;\r\n valHooks.useDefault = true;\r\n }\r\n\r\n this.$element = $(element);\r\n this.$newElement = null;\r\n this.$button = null;\r\n this.$menu = null;\r\n this.options = options;\r\n this.selectpicker = {\r\n main: {},\r\n search: {},\r\n current: {}, // current changes if a search is in progress\r\n view: {},\r\n isSearching: false,\r\n keydown: {\r\n keyHistory: '',\r\n resetKeyHistory: {\r\n start: function () {\r\n return setTimeout(function () {\r\n that.selectpicker.keydown.keyHistory = '';\r\n }, 800);\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.sizeInfo = {};\r\n\r\n // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a\r\n // data-attribute)\r\n if (this.options.title === null) {\r\n this.options.title = this.$element.attr('title');\r\n }\r\n\r\n // Format window padding\r\n var winPad = this.options.windowPadding;\r\n if (typeof winPad === 'number') {\r\n this.options.windowPadding = [winPad, winPad, winPad, winPad];\r\n }\r\n\r\n // Expose public methods\r\n this.val = Selectpicker.prototype.val;\r\n this.render = Selectpicker.prototype.render;\r\n this.refresh = Selectpicker.prototype.refresh;\r\n this.setStyle = Selectpicker.prototype.setStyle;\r\n this.selectAll = Selectpicker.prototype.selectAll;\r\n this.deselectAll = Selectpicker.prototype.deselectAll;\r\n this.destroy = Selectpicker.prototype.destroy;\r\n this.remove = Selectpicker.prototype.remove;\r\n this.show = Selectpicker.prototype.show;\r\n this.hide = Selectpicker.prototype.hide;\r\n\r\n this.init();\r\n };\r\n\r\n Selectpicker.VERSION = '1.13.14';\r\n\r\n // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\r\n Selectpicker.DEFAULTS = {\r\n noneSelectedText: 'Nothing selected',\r\n noneResultsText: 'No results matched {0}',\r\n countSelectedText: function (numSelected, numTotal) {\r\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\r\n },\r\n maxOptionsText: function (numAll, numGroup) {\r\n return [\r\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\r\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\r\n ];\r\n },\r\n selectAllText: 'Select All',\r\n deselectAllText: 'Deselect All',\r\n doneButton: false,\r\n doneButtonText: 'Close',\r\n multipleSeparator: ', ',\r\n styleBase: 'btn',\r\n style: classNames.BUTTONCLASS,\r\n size: 'auto',\r\n title: null,\r\n selectedTextFormat: 'values',\r\n width: false,\r\n container: false,\r\n hideDisabled: false,\r\n showSubtext: false,\r\n showIcon: true,\r\n showContent: true,\r\n dropupAuto: true,\r\n header: false,\r\n liveSearch: false,\r\n liveSearchPlaceholder: null,\r\n liveSearchNormalize: false,\r\n liveSearchStyle: 'contains',\r\n actionsBox: false,\r\n iconBase: classNames.ICONBASE,\r\n tickIcon: classNames.TICKICON,\r\n showTick: false,\r\n template: {\r\n caret: ''\r\n },\r\n maxOptions: false,\r\n mobile: false,\r\n selectOnTab: false,\r\n dropdownAlignRight: false,\r\n windowPadding: 0,\r\n virtualScroll: 600,\r\n display: false,\r\n sanitize: true,\r\n sanitizeFn: null,\r\n whiteList: DefaultWhitelist\r\n };\r\n\r\n Selectpicker.prototype = {\r\n\r\n constructor: Selectpicker,\r\n\r\n init: function () {\r\n var that = this,\r\n id = this.$element.attr('id');\r\n\r\n selectId++;\r\n this.selectId = 'bs-select-' + selectId;\r\n\r\n this.$element[0].classList.add('bs-select-hidden');\r\n\r\n this.multiple = this.$element.prop('multiple');\r\n this.autofocus = this.$element.prop('autofocus');\r\n\r\n if (this.$element[0].classList.contains('show-tick')) {\r\n this.options.showTick = true;\r\n }\r\n\r\n this.$newElement = this.createDropdown();\r\n this.buildData();\r\n this.$element\r\n .after(this.$newElement)\r\n .prependTo(this.$newElement);\r\n\r\n this.$button = this.$newElement.children('button');\r\n this.$menu = this.$newElement.children(Selector.MENU);\r\n this.$menuInner = this.$menu.children('.inner');\r\n this.$searchbox = this.$menu.find('input');\r\n\r\n this.$element[0].classList.remove('bs-select-hidden');\r\n\r\n if (this.options.dropdownAlignRight === true) this.$menu[0].classList.add(classNames.MENURIGHT);\r\n\r\n if (typeof id !== 'undefined') {\r\n this.$button.attr('data-id', id);\r\n }\r\n\r\n this.checkDisabled();\r\n this.clickListener();\r\n\r\n if (this.options.liveSearch) {\r\n this.liveSearchListener();\r\n this.focusedParent = this.$searchbox[0];\r\n } else {\r\n this.focusedParent = this.$menuInner[0];\r\n }\r\n\r\n this.setStyle();\r\n this.render();\r\n this.setWidth();\r\n if (this.options.container) {\r\n this.selectPosition();\r\n } else {\r\n this.$element.on('hide' + EVENT_KEY, function () {\r\n if (that.isVirtual()) {\r\n // empty menu on close\r\n var menuInner = that.$menuInner[0],\r\n emptyMenu = menuInner.firstChild.cloneNode(false);\r\n\r\n // replace the existing UL with an empty one - this is faster than $.empty() or innerHTML = ''\r\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\r\n menuInner.scrollTop = 0;\r\n }\r\n });\r\n }\r\n this.$menu.data('this', this);\r\n this.$newElement.data('this', this);\r\n if (this.options.mobile) this.mobile();\r\n\r\n this.$newElement.on({\r\n 'hide.bs.dropdown': function (e) {\r\n that.$element.trigger('hide' + EVENT_KEY, e);\r\n },\r\n 'hidden.bs.dropdown': function (e) {\r\n that.$element.trigger('hidden' + EVENT_KEY, e);\r\n },\r\n 'show.bs.dropdown': function (e) {\r\n that.$element.trigger('show' + EVENT_KEY, e);\r\n },\r\n 'shown.bs.dropdown': function (e) {\r\n that.$element.trigger('shown' + EVENT_KEY, e);\r\n }\r\n });\r\n\r\n if (that.$element[0].hasAttribute('required')) {\r\n this.$element.on('invalid' + EVENT_KEY, function () {\r\n that.$button[0].classList.add('bs-invalid');\r\n\r\n that.$element\r\n .on('shown' + EVENT_KEY + '.invalid', function () {\r\n that.$element\r\n .val(that.$element.val()) // set the value to hide the validation message in Chrome when menu is opened\r\n .off('shown' + EVENT_KEY + '.invalid');\r\n })\r\n .on('rendered' + EVENT_KEY, function () {\r\n // if select is no longer invalid, remove the bs-invalid class\r\n if (this.validity.valid) that.$button[0].classList.remove('bs-invalid');\r\n that.$element.off('rendered' + EVENT_KEY);\r\n });\r\n\r\n that.$button.on('blur' + EVENT_KEY, function () {\r\n that.$element.trigger('focus').trigger('blur');\r\n that.$button.off('blur' + EVENT_KEY);\r\n });\r\n });\r\n }\r\n\r\n setTimeout(function () {\r\n that.buildList();\r\n that.$element.trigger('loaded' + EVENT_KEY);\r\n });\r\n },\r\n\r\n createDropdown: function () {\r\n // Options\r\n // If we are multiple or showTick option is set, then add the show-tick class\r\n var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '',\r\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\r\n inputGroup = '',\r\n autofocus = this.autofocus ? ' autofocus' : '';\r\n\r\n if (version.major < 4 && this.$element.parent().hasClass('input-group')) {\r\n inputGroup = ' input-group-btn';\r\n }\r\n\r\n // Elements\r\n var drop,\r\n header = '',\r\n searchbox = '',\r\n actionsbox = '',\r\n donebutton = '';\r\n\r\n if (this.options.header) {\r\n header =\r\n '
' +\r\n '' +\r\n this.options.header +\r\n '
';\r\n }\r\n\r\n if (this.options.liveSearch) {\r\n searchbox =\r\n '
' +\r\n '' +\r\n '
';\r\n }\r\n\r\n if (this.multiple && this.options.actionsBox) {\r\n actionsbox =\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n if (this.multiple && this.options.doneButton) {\r\n donebutton =\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n drop =\r\n '
' +\r\n '' +\r\n '
' +\r\n header +\r\n searchbox +\r\n actionsbox +\r\n '
' +\r\n '
    ' +\r\n '
' +\r\n '
' +\r\n donebutton +\r\n '
' +\r\n '
';\r\n\r\n return $(drop);\r\n },\r\n\r\n setPositionData: function () {\r\n this.selectpicker.view.canHighlight = [];\r\n this.selectpicker.view.size = 0;\r\n\r\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\r\n var li = this.selectpicker.current.data[i],\r\n canHighlight = true;\r\n\r\n if (li.type === 'divider') {\r\n canHighlight = false;\r\n li.height = this.sizeInfo.dividerHeight;\r\n } else if (li.type === 'optgroup-label') {\r\n canHighlight = false;\r\n li.height = this.sizeInfo.dropdownHeaderHeight;\r\n } else {\r\n li.height = this.sizeInfo.liHeight;\r\n }\r\n\r\n if (li.disabled) canHighlight = false;\r\n\r\n this.selectpicker.view.canHighlight.push(canHighlight);\r\n\r\n if (canHighlight) {\r\n this.selectpicker.view.size++;\r\n li.posinset = this.selectpicker.view.size;\r\n }\r\n\r\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\r\n }\r\n },\r\n\r\n isVirtual: function () {\r\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.elements.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\r\n },\r\n\r\n createView: function (isSearching, setSize, refresh) {\r\n var that = this,\r\n scrollTop = 0,\r\n active = [],\r\n selected,\r\n prevActive;\r\n\r\n this.selectpicker.isSearching = isSearching;\r\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\r\n\r\n this.setPositionData();\r\n\r\n if (setSize) {\r\n if (refresh) {\r\n scrollTop = this.$menuInner[0].scrollTop;\r\n } else if (!that.multiple) {\r\n var element = that.$element[0],\r\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\r\n\r\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\r\n var selectedData = that.selectpicker.main.data[selectedIndex],\r\n position = selectedData && selectedData.position;\r\n\r\n if (position) {\r\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\r\n }\r\n }\r\n }\r\n }\r\n\r\n scroll(scrollTop, true);\r\n\r\n this.$menuInner.off('scroll.createView').on('scroll.createView', function (e, updateValue) {\r\n if (!that.noScroll) scroll(this.scrollTop, updateValue);\r\n that.noScroll = false;\r\n });\r\n\r\n function scroll (scrollTop, init) {\r\n var size = that.selectpicker.current.elements.length,\r\n chunks = [],\r\n chunkSize,\r\n chunkCount,\r\n firstChunk,\r\n lastChunk,\r\n currentChunk,\r\n prevPositions,\r\n positionIsDifferent,\r\n previousElements,\r\n menuIsDifferent = true,\r\n isVirtual = that.isVirtual();\r\n\r\n that.selectpicker.view.scrollTop = scrollTop;\r\n\r\n chunkSize = Math.ceil(that.sizeInfo.menuInnerHeight / that.sizeInfo.liHeight * 1.5); // number of options in a chunk\r\n chunkCount = Math.round(size / chunkSize) || 1; // number of chunks\r\n\r\n for (var i = 0; i < chunkCount; i++) {\r\n var endOfChunk = (i + 1) * chunkSize;\r\n\r\n if (i === chunkCount - 1) {\r\n endOfChunk = size;\r\n }\r\n\r\n chunks[i] = [\r\n (i) * chunkSize + (!i ? 0 : 1),\r\n endOfChunk\r\n ];\r\n\r\n if (!size) break;\r\n\r\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\r\n currentChunk = i;\r\n }\r\n }\r\n\r\n if (currentChunk === undefined) currentChunk = 0;\r\n\r\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\r\n\r\n // always display previous, current, and next chunks\r\n firstChunk = Math.max(0, currentChunk - 1);\r\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\r\n\r\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\r\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\r\n\r\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\r\n\r\n if (that.activeIndex !== undefined) {\r\n prevActive = that.selectpicker.main.elements[that.prevActiveIndex];\r\n active = that.selectpicker.main.elements[that.activeIndex];\r\n selected = that.selectpicker.main.elements[that.selectedIndex];\r\n\r\n if (init) {\r\n if (that.activeIndex !== that.selectedIndex) {\r\n that.defocusItem(active);\r\n }\r\n that.activeIndex = undefined;\r\n }\r\n\r\n if (that.activeIndex && that.activeIndex !== that.selectedIndex) {\r\n that.defocusItem(selected);\r\n }\r\n }\r\n\r\n if (that.prevActiveIndex !== undefined && that.prevActiveIndex !== that.activeIndex && that.prevActiveIndex !== that.selectedIndex) {\r\n that.defocusItem(prevActive);\r\n }\r\n\r\n if (init || positionIsDifferent) {\r\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\r\n\r\n if (isVirtual === false) {\r\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\r\n } else {\r\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\r\n }\r\n\r\n that.setOptionStatus();\r\n\r\n // if searching, check to make sure the list has actually been updated before updating DOM\r\n // this prevents unnecessary repaints\r\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\r\n\r\n // if virtual scroll is disabled and not searching,\r\n // menu should never need to be updated more than once\r\n if ((init || isVirtual === true) && menuIsDifferent) {\r\n var menuInner = that.$menuInner[0],\r\n menuFragment = document.createDocumentFragment(),\r\n emptyMenu = menuInner.firstChild.cloneNode(false),\r\n marginTop,\r\n marginBottom,\r\n elements = that.selectpicker.view.visibleElements,\r\n toSanitize = [];\r\n\r\n // replace the existing UL with an empty one - this is faster than $.empty()\r\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\r\n\r\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\r\n var element = elements[i],\r\n elText,\r\n elementData;\r\n\r\n if (that.options.sanitize) {\r\n elText = element.lastChild;\r\n\r\n if (elText) {\r\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\r\n\r\n if (elementData && elementData.content && !elementData.sanitized) {\r\n toSanitize.push(elText);\r\n elementData.sanitized = true;\r\n }\r\n }\r\n }\r\n\r\n menuFragment.appendChild(element);\r\n }\r\n\r\n if (that.options.sanitize && toSanitize.length) {\r\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\r\n }\r\n\r\n if (isVirtual === true) {\r\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\r\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\r\n\r\n menuInner.firstChild.style.marginTop = marginTop + 'px';\r\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\r\n } else {\r\n menuInner.firstChild.style.marginTop = 0;\r\n menuInner.firstChild.style.marginBottom = 0;\r\n }\r\n\r\n menuInner.firstChild.appendChild(menuFragment);\r\n\r\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\r\n // switch to ResizeObserver with increased browser support\r\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\r\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\r\n\r\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\r\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\r\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\r\n // set to 0 to get actual width of menu\r\n that.$menu[0].style.minWidth = 0;\r\n\r\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\r\n\r\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\r\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\r\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\r\n }\r\n\r\n // reset to default CSS styling\r\n that.$menu[0].style.minWidth = '';\r\n }\r\n }\r\n }\r\n }\r\n\r\n that.prevActiveIndex = that.activeIndex;\r\n\r\n if (!that.options.liveSearch) {\r\n that.$menuInner.trigger('focus');\r\n } else if (isSearching && init) {\r\n var index = 0,\r\n newActive;\r\n\r\n if (!that.selectpicker.view.canHighlight[index]) {\r\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\r\n }\r\n\r\n newActive = that.selectpicker.view.visibleElements[index];\r\n\r\n that.defocusItem(that.selectpicker.view.currentActive);\r\n\r\n that.activeIndex = (that.selectpicker.current.data[index] || {}).index;\r\n\r\n that.focusItem(newActive);\r\n }\r\n }\r\n\r\n $(window)\r\n .off('resize' + EVENT_KEY + '.' + this.selectId + '.createView')\r\n .on('resize' + EVENT_KEY + '.' + this.selectId + '.createView', function () {\r\n var isActive = that.$newElement.hasClass(classNames.SHOW);\r\n\r\n if (isActive) scroll(that.$menuInner[0].scrollTop);\r\n });\r\n },\r\n\r\n focusItem: function (li, liData, noStyle) {\r\n if (li) {\r\n liData = liData || this.selectpicker.main.data[this.activeIndex];\r\n var a = li.firstChild;\r\n\r\n if (a) {\r\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\r\n a.setAttribute('aria-posinset', liData.posinset);\r\n\r\n if (noStyle !== true) {\r\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\r\n li.classList.add('active');\r\n a.classList.add('active');\r\n }\r\n }\r\n }\r\n },\r\n\r\n defocusItem: function (li) {\r\n if (li) {\r\n li.classList.remove('active');\r\n if (li.firstChild) li.firstChild.classList.remove('active');\r\n }\r\n },\r\n\r\n setPlaceholder: function () {\r\n var updateIndex = false;\r\n\r\n if (this.options.title && !this.multiple) {\r\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\r\n\r\n // this option doesn't create a new
  • element, but does add a new option at the start,\r\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\r\n updateIndex = true;\r\n\r\n var element = this.$element[0],\r\n isSelected = false,\r\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode;\r\n\r\n if (titleNotAppended) {\r\n // Use native JS to prepend option (faster)\r\n this.selectpicker.view.titleOption.className = 'bs-title-option';\r\n this.selectpicker.view.titleOption.value = '';\r\n\r\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\r\n // the selected item may have been changed by user or programmatically before the bootstrap select plugin runs,\r\n // if so, the select will have the data-selected attribute\r\n var $opt = $(element.options[element.selectedIndex]);\r\n isSelected = $opt.attr('selected') === undefined && this.$element.data('selected') === undefined;\r\n }\r\n\r\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\r\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\r\n }\r\n\r\n // Set selected *after* appending to select,\r\n // otherwise the option doesn't get selected in IE\r\n // set using selectedIndex, as setting the selected attr to true here doesn't work in IE11\r\n if (isSelected) element.selectedIndex = 0;\r\n }\r\n\r\n return updateIndex;\r\n },\r\n\r\n buildData: function () {\r\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"])',\r\n mainData = [],\r\n optID = 0,\r\n startIndex = this.setPlaceholder() ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\r\n\r\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\r\n\r\n var selectOptions = this.$element[0].querySelectorAll('select > *' + optionSelector);\r\n\r\n function addDivider (config) {\r\n var previousData = mainData[mainData.length - 1];\r\n\r\n // ensure optgroup doesn't create back-to-back dividers\r\n if (\r\n previousData &&\r\n previousData.type === 'divider' &&\r\n (previousData.optID || config.optID)\r\n ) {\r\n return;\r\n }\r\n\r\n config = config || {};\r\n config.type = 'divider';\r\n\r\n mainData.push(config);\r\n }\r\n\r\n function addOption (option, config) {\r\n config = config || {};\r\n\r\n config.divider = option.getAttribute('data-divider') === 'true';\r\n\r\n if (config.divider) {\r\n addDivider({\r\n optID: config.optID\r\n });\r\n } else {\r\n var liIndex = mainData.length,\r\n cssText = option.style.cssText,\r\n inlineStyle = cssText ? htmlEscape(cssText) : '',\r\n optionClass = (option.className || '') + (config.optgroupClass || '');\r\n\r\n if (config.optID) optionClass = 'opt ' + optionClass;\r\n\r\n config.optionClass = optionClass.trim();\r\n config.inlineStyle = inlineStyle;\r\n config.text = option.textContent;\r\n\r\n config.content = option.getAttribute('data-content');\r\n config.tokens = option.getAttribute('data-tokens');\r\n config.subtext = option.getAttribute('data-subtext');\r\n config.icon = option.getAttribute('data-icon');\r\n\r\n option.liIndex = liIndex;\r\n\r\n config.display = config.content || config.text;\r\n config.type = 'option';\r\n config.index = liIndex;\r\n config.option = option;\r\n config.selected = !!option.selected;\r\n config.disabled = config.disabled || !!option.disabled;\r\n\r\n mainData.push(config);\r\n }\r\n }\r\n\r\n function addOptgroup (index, selectOptions) {\r\n var optgroup = selectOptions[index],\r\n previous = selectOptions[index - 1],\r\n next = selectOptions[index + 1],\r\n options = optgroup.querySelectorAll('option' + optionSelector);\r\n\r\n if (!options.length) return;\r\n\r\n var config = {\r\n display: htmlEscape(optgroup.label),\r\n subtext: optgroup.getAttribute('data-subtext'),\r\n icon: optgroup.getAttribute('data-icon'),\r\n type: 'optgroup-label',\r\n optgroupClass: ' ' + (optgroup.className || '')\r\n },\r\n headerIndex,\r\n lastIndex;\r\n\r\n optID++;\r\n\r\n if (previous) {\r\n addDivider({ optID: optID });\r\n }\r\n\r\n config.optID = optID;\r\n\r\n mainData.push(config);\r\n\r\n for (var j = 0, len = options.length; j < len; j++) {\r\n var option = options[j];\r\n\r\n if (j === 0) {\r\n headerIndex = mainData.length - 1;\r\n lastIndex = headerIndex + len;\r\n }\r\n\r\n addOption(option, {\r\n headerIndex: headerIndex,\r\n lastIndex: lastIndex,\r\n optID: config.optID,\r\n optgroupClass: config.optgroupClass,\r\n disabled: optgroup.disabled\r\n });\r\n }\r\n\r\n if (next) {\r\n addDivider({ optID: optID });\r\n }\r\n }\r\n\r\n for (var len = selectOptions.length; startIndex < len; startIndex++) {\r\n var item = selectOptions[startIndex];\r\n\r\n if (item.tagName !== 'OPTGROUP') {\r\n addOption(item, {});\r\n } else {\r\n addOptgroup(startIndex, selectOptions);\r\n }\r\n }\r\n\r\n this.selectpicker.main.data = this.selectpicker.current.data = mainData;\r\n },\r\n\r\n buildList: function () {\r\n var that = this,\r\n selectData = this.selectpicker.main.data,\r\n mainElements = [],\r\n widestOptionLength = 0;\r\n\r\n if ((that.options.showTick || that.multiple) && !elementTemplates.checkMark.parentNode) {\r\n elementTemplates.checkMark.className = this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\r\n elementTemplates.a.appendChild(elementTemplates.checkMark);\r\n }\r\n\r\n function buildElement (item) {\r\n var liElement,\r\n combinedLength = 0;\r\n\r\n switch (item.type) {\r\n case 'divider':\r\n liElement = generateOption.li(\r\n false,\r\n classNames.DIVIDER,\r\n (item.optID ? item.optID + 'div' : undefined)\r\n );\r\n\r\n break;\r\n\r\n case 'option':\r\n liElement = generateOption.li(\r\n generateOption.a(\r\n generateOption.text.call(that, item),\r\n item.optionClass,\r\n item.inlineStyle\r\n ),\r\n '',\r\n item.optID\r\n );\r\n\r\n if (liElement.firstChild) {\r\n liElement.firstChild.id = that.selectId + '-' + item.index;\r\n }\r\n\r\n break;\r\n\r\n case 'optgroup-label':\r\n liElement = generateOption.li(\r\n generateOption.label.call(that, item),\r\n 'dropdown-header' + item.optgroupClass,\r\n item.optID\r\n );\r\n\r\n break;\r\n }\r\n\r\n mainElements.push(liElement);\r\n\r\n // count the number of characters in the option - not perfect, but should work in most cases\r\n if (item.display) combinedLength += item.display.length;\r\n if (item.subtext) combinedLength += item.subtext.length;\r\n // if there is an icon, ensure this option's width is checked\r\n if (item.icon) combinedLength += 1;\r\n\r\n if (combinedLength > widestOptionLength) {\r\n widestOptionLength = combinedLength;\r\n\r\n // guess which option is the widest\r\n // use this when calculating menu width\r\n // not perfect, but it's fast, and the width will be updating accordingly when scrolling\r\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\r\n }\r\n }\r\n\r\n for (var len = selectData.length, i = 0; i < len; i++) {\r\n var item = selectData[i];\r\n\r\n buildElement(item);\r\n }\r\n\r\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\r\n },\r\n\r\n findLis: function () {\r\n return this.$menuInner.find('.inner > li');\r\n },\r\n\r\n render: function () {\r\n var that = this,\r\n element = this.$element[0],\r\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\r\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\r\n selectedOptions = getSelectedOptions(element, this.options.hideDisabled),\r\n selectedCount = selectedOptions.length,\r\n button = this.$button[0],\r\n buttonInner = button.querySelector('.filter-option-inner-inner'),\r\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\r\n titleFragment = elementTemplates.fragment.cloneNode(false),\r\n showCount,\r\n countMax,\r\n hasContent = false;\r\n\r\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !getSelectValues(element, selectedOptions));\r\n\r\n this.tabIndex();\r\n\r\n if (this.options.selectedTextFormat === 'static') {\r\n titleFragment = generateOption.text.call(this, { text: this.options.title }, true);\r\n } else {\r\n showCount = this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 1;\r\n\r\n // determine if the number of selected options will be shown (showCount === true)\r\n if (showCount) {\r\n countMax = this.options.selectedTextFormat.split('>');\r\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\r\n }\r\n\r\n // only loop through all selected options if the count won't be shown\r\n if (showCount === false) {\r\n if (!placeholderSelected) {\r\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\r\n if (selectedIndex < 50) {\r\n var option = selectedOptions[selectedIndex],\r\n thisData = this.selectpicker.main.data[option.liIndex],\r\n titleOptions = {};\r\n\r\n if (this.multiple && selectedIndex > 0) {\r\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\r\n }\r\n\r\n if (option.title) {\r\n titleOptions.text = option.title;\r\n } else if (thisData) {\r\n if (thisData.content && that.options.showContent) {\r\n titleOptions.content = thisData.content.toString();\r\n hasContent = true;\r\n } else {\r\n if (that.options.showIcon) {\r\n titleOptions.icon = thisData.icon;\r\n }\r\n if (that.options.showSubtext && !that.multiple && thisData.subtext) titleOptions.subtext = ' ' + thisData.subtext;\r\n titleOptions.text = option.textContent.trim();\r\n }\r\n }\r\n\r\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n // add ellipsis\r\n if (selectedCount > 49) {\r\n titleFragment.appendChild(document.createTextNode('...'));\r\n }\r\n }\r\n } else {\r\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"])';\r\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\r\n\r\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\r\n var totalCount = this.$element[0].querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\r\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\r\n\r\n titleFragment = generateOption.text.call(this, {\r\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\r\n }, true);\r\n }\r\n }\r\n\r\n if (this.options.title == undefined) {\r\n // use .attr to ensure undefined is returned if title attribute is not set\r\n this.options.title = this.$element.attr('title');\r\n }\r\n\r\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\r\n if (!titleFragment.childNodes.length) {\r\n titleFragment = generateOption.text.call(this, {\r\n text: typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText\r\n }, true);\r\n }\r\n\r\n // strip all HTML tags and trim the result, then unescape any escaped tags\r\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\r\n\r\n if (this.options.sanitize && hasContent) {\r\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\r\n }\r\n\r\n buttonInner.innerHTML = '';\r\n buttonInner.appendChild(titleFragment);\r\n\r\n if (version.major < 4 && this.$newElement[0].classList.contains('bs3-has-addon')) {\r\n var filterExpand = button.querySelector('.filter-expand'),\r\n clone = buttonInner.cloneNode(true);\r\n\r\n clone.className = 'filter-expand';\r\n\r\n if (filterExpand) {\r\n button.replaceChild(clone, filterExpand);\r\n } else {\r\n button.appendChild(clone);\r\n }\r\n }\r\n\r\n this.$element.trigger('rendered' + EVENT_KEY);\r\n },\r\n\r\n /**\r\n * @param [style]\r\n * @param [status]\r\n */\r\n setStyle: function (newStyle, status) {\r\n var button = this.$button[0],\r\n newElement = this.$newElement[0],\r\n style = this.options.style.trim(),\r\n buttonClass;\r\n\r\n if (this.$element.attr('class')) {\r\n this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, ''));\r\n }\r\n\r\n if (version.major < 4) {\r\n newElement.classList.add('bs3');\r\n\r\n if (newElement.parentNode.classList.contains('input-group') &&\r\n (newElement.previousElementSibling || newElement.nextElementSibling) &&\r\n (newElement.previousElementSibling || newElement.nextElementSibling).classList.contains('input-group-addon')\r\n ) {\r\n newElement.classList.add('bs3-has-addon');\r\n }\r\n }\r\n\r\n if (newStyle) {\r\n buttonClass = newStyle.trim();\r\n } else {\r\n buttonClass = style;\r\n }\r\n\r\n if (status == 'add') {\r\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\r\n } else if (status == 'remove') {\r\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\r\n } else {\r\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\r\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\r\n }\r\n },\r\n\r\n liHeight: function (refresh) {\r\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\r\n\r\n var newElement = document.createElement('div'),\r\n menu = document.createElement('div'),\r\n menuInner = document.createElement('div'),\r\n menuInnerInner = document.createElement('ul'),\r\n divider = document.createElement('li'),\r\n dropdownHeader = document.createElement('li'),\r\n li = document.createElement('li'),\r\n a = document.createElement('a'),\r\n text = document.createElement('span'),\r\n header = this.options.header && this.$menu.find('.' + classNames.POPOVERHEADER).length > 0 ? this.$menu.find('.' + classNames.POPOVERHEADER)[0].cloneNode(true) : null,\r\n search = this.options.liveSearch ? document.createElement('div') : null,\r\n actions = this.options.actionsBox && this.multiple && this.$menu.find('.bs-actionsbox').length > 0 ? this.$menu.find('.bs-actionsbox')[0].cloneNode(true) : null,\r\n doneButton = this.options.doneButton && this.multiple && this.$menu.find('.bs-donebutton').length > 0 ? this.$menu.find('.bs-donebutton')[0].cloneNode(true) : null,\r\n firstOption = this.$element.find('option')[0];\r\n\r\n this.sizeInfo.selectWidth = this.$newElement[0].offsetWidth;\r\n\r\n text.className = 'text';\r\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\r\n newElement.className = this.$menu[0].parentNode.className + ' ' + classNames.SHOW;\r\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\r\n if (this.options.width === 'auto') menu.style.minWidth = 0;\r\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\r\n menuInner.className = 'inner ' + classNames.SHOW;\r\n menuInnerInner.className = classNames.MENU + ' inner ' + (version.major === '4' ? classNames.SHOW : '');\r\n divider.className = classNames.DIVIDER;\r\n dropdownHeader.className = 'dropdown-header';\r\n\r\n text.appendChild(document.createTextNode('\\u200b'));\r\n a.appendChild(text);\r\n li.appendChild(a);\r\n dropdownHeader.appendChild(text.cloneNode(true));\r\n\r\n if (this.selectpicker.view.widestOption) {\r\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\r\n }\r\n\r\n menuInnerInner.appendChild(li);\r\n menuInnerInner.appendChild(divider);\r\n menuInnerInner.appendChild(dropdownHeader);\r\n if (header) menu.appendChild(header);\r\n if (search) {\r\n var input = document.createElement('input');\r\n search.className = 'bs-searchbox';\r\n input.className = 'form-control';\r\n search.appendChild(input);\r\n menu.appendChild(search);\r\n }\r\n if (actions) menu.appendChild(actions);\r\n menuInner.appendChild(menuInnerInner);\r\n menu.appendChild(menuInner);\r\n if (doneButton) menu.appendChild(doneButton);\r\n newElement.appendChild(menu);\r\n\r\n document.body.appendChild(newElement);\r\n\r\n var liHeight = li.offsetHeight,\r\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\r\n headerHeight = header ? header.offsetHeight : 0,\r\n searchHeight = search ? search.offsetHeight : 0,\r\n actionsHeight = actions ? actions.offsetHeight : 0,\r\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\r\n dividerHeight = $(divider).outerHeight(true),\r\n // fall back to jQuery if getComputedStyle is not supported\r\n menuStyle = window.getComputedStyle ? window.getComputedStyle(menu) : false,\r\n menuWidth = menu.offsetWidth,\r\n $menu = menuStyle ? null : $(menu),\r\n menuPadding = {\r\n vert: toInteger(menuStyle ? menuStyle.paddingTop : $menu.css('paddingTop')) +\r\n toInteger(menuStyle ? menuStyle.paddingBottom : $menu.css('paddingBottom')) +\r\n toInteger(menuStyle ? menuStyle.borderTopWidth : $menu.css('borderTopWidth')) +\r\n toInteger(menuStyle ? menuStyle.borderBottomWidth : $menu.css('borderBottomWidth')),\r\n horiz: toInteger(menuStyle ? menuStyle.paddingLeft : $menu.css('paddingLeft')) +\r\n toInteger(menuStyle ? menuStyle.paddingRight : $menu.css('paddingRight')) +\r\n toInteger(menuStyle ? menuStyle.borderLeftWidth : $menu.css('borderLeftWidth')) +\r\n toInteger(menuStyle ? menuStyle.borderRightWidth : $menu.css('borderRightWidth'))\r\n },\r\n menuExtras = {\r\n vert: menuPadding.vert +\r\n toInteger(menuStyle ? menuStyle.marginTop : $menu.css('marginTop')) +\r\n toInteger(menuStyle ? menuStyle.marginBottom : $menu.css('marginBottom')) + 2,\r\n horiz: menuPadding.horiz +\r\n toInteger(menuStyle ? menuStyle.marginLeft : $menu.css('marginLeft')) +\r\n toInteger(menuStyle ? menuStyle.marginRight : $menu.css('marginRight')) + 2\r\n },\r\n scrollBarWidth;\r\n\r\n menuInner.style.overflowY = 'scroll';\r\n\r\n scrollBarWidth = menu.offsetWidth - menuWidth;\r\n\r\n document.body.removeChild(newElement);\r\n\r\n this.sizeInfo.liHeight = liHeight;\r\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\r\n this.sizeInfo.headerHeight = headerHeight;\r\n this.sizeInfo.searchHeight = searchHeight;\r\n this.sizeInfo.actionsHeight = actionsHeight;\r\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\r\n this.sizeInfo.dividerHeight = dividerHeight;\r\n this.sizeInfo.menuPadding = menuPadding;\r\n this.sizeInfo.menuExtras = menuExtras;\r\n this.sizeInfo.menuWidth = menuWidth;\r\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\r\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\r\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\r\n this.sizeInfo.selectHeight = this.$newElement[0].offsetHeight;\r\n\r\n this.setPositionData();\r\n },\r\n\r\n getSelectPosition: function () {\r\n var that = this,\r\n $window = $(window),\r\n pos = that.$newElement.offset(),\r\n $container = $(that.options.container),\r\n containerPos;\r\n\r\n if (that.options.container && $container.length && !$container.is('body')) {\r\n containerPos = $container.offset();\r\n containerPos.top += parseInt($container.css('borderTopWidth'));\r\n containerPos.left += parseInt($container.css('borderLeftWidth'));\r\n } else {\r\n containerPos = { top: 0, left: 0 };\r\n }\r\n\r\n var winPad = that.options.windowPadding;\r\n\r\n this.sizeInfo.selectOffsetTop = pos.top - containerPos.top - $window.scrollTop();\r\n this.sizeInfo.selectOffsetBot = $window.height() - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight - containerPos.top - winPad[2];\r\n this.sizeInfo.selectOffsetLeft = pos.left - containerPos.left - $window.scrollLeft();\r\n this.sizeInfo.selectOffsetRight = $window.width() - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth - containerPos.left - winPad[1];\r\n this.sizeInfo.selectOffsetTop -= winPad[0];\r\n this.sizeInfo.selectOffsetLeft -= winPad[3];\r\n },\r\n\r\n setMenuSize: function (isAuto) {\r\n this.getSelectPosition();\r\n\r\n var selectWidth = this.sizeInfo.selectWidth,\r\n liHeight = this.sizeInfo.liHeight,\r\n headerHeight = this.sizeInfo.headerHeight,\r\n searchHeight = this.sizeInfo.searchHeight,\r\n actionsHeight = this.sizeInfo.actionsHeight,\r\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\r\n divHeight = this.sizeInfo.dividerHeight,\r\n menuPadding = this.sizeInfo.menuPadding,\r\n menuInnerHeight,\r\n menuHeight,\r\n divLength = 0,\r\n minHeight,\r\n _minHeight,\r\n maxHeight,\r\n menuInnerMinHeight,\r\n estimate,\r\n isDropup;\r\n\r\n if (this.options.dropupAuto) {\r\n // Get the estimated height of the menu without scrollbars.\r\n // This is useful for smaller menus, where there might be plenty of room\r\n // below the button without setting dropup, but we can't know\r\n // the exact height of the menu until createView is called later\r\n estimate = liHeight * this.selectpicker.current.elements.length + menuPadding.vert;\r\n\r\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\r\n\r\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\r\n if (this.selectpicker.isSearching === true) {\r\n isDropup = this.selectpicker.dropup;\r\n }\r\n\r\n this.$newElement.toggleClass(classNames.DROPUP, isDropup);\r\n this.selectpicker.dropup = isDropup;\r\n }\r\n\r\n if (this.options.size === 'auto') {\r\n _minHeight = this.selectpicker.current.elements.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\r\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\r\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\r\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\r\n\r\n if (this.$newElement.hasClass(classNames.DROPUP)) {\r\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\r\n }\r\n\r\n maxHeight = menuHeight;\r\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\r\n } else if (this.options.size && this.options.size != 'auto' && this.selectpicker.current.elements.length > this.options.size) {\r\n for (var i = 0; i < this.options.size; i++) {\r\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\r\n }\r\n\r\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\r\n menuInnerHeight = menuHeight - menuPadding.vert;\r\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\r\n minHeight = menuInnerMinHeight = '';\r\n }\r\n\r\n this.$menu.css({\r\n 'max-height': maxHeight + 'px',\r\n 'overflow': 'hidden',\r\n 'min-height': minHeight + 'px'\r\n });\r\n\r\n this.$menuInner.css({\r\n 'max-height': menuInnerHeight + 'px',\r\n 'overflow-y': 'auto',\r\n 'min-height': menuInnerMinHeight + 'px'\r\n });\r\n\r\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\r\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\r\n\r\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\r\n this.sizeInfo.hasScrollBar = true;\r\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\r\n }\r\n\r\n if (this.options.dropdownAlignRight === 'auto') {\r\n this.$menu.toggleClass(classNames.MENURIGHT, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\r\n }\r\n\r\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\r\n },\r\n\r\n setSize: function (refresh) {\r\n this.liHeight(refresh);\r\n\r\n if (this.options.header) this.$menu.css('padding-top', 0);\r\n\r\n if (this.options.size !== false) {\r\n var that = this,\r\n $window = $(window);\r\n\r\n this.setMenuSize();\r\n\r\n if (this.options.liveSearch) {\r\n this.$searchbox\r\n .off('input.setMenuSize propertychange.setMenuSize')\r\n .on('input.setMenuSize propertychange.setMenuSize', function () {\r\n return that.setMenuSize();\r\n });\r\n }\r\n\r\n if (this.options.size === 'auto') {\r\n $window\r\n .off('resize' + EVENT_KEY + '.' + this.selectId + '.setMenuSize' + ' scroll' + EVENT_KEY + '.' + this.selectId + '.setMenuSize')\r\n .on('resize' + EVENT_KEY + '.' + this.selectId + '.setMenuSize' + ' scroll' + EVENT_KEY + '.' + this.selectId + '.setMenuSize', function () {\r\n return that.setMenuSize();\r\n });\r\n } else if (this.options.size && this.options.size != 'auto' && this.selectpicker.current.elements.length > this.options.size) {\r\n $window.off('resize' + EVENT_KEY + '.' + this.selectId + '.setMenuSize' + ' scroll' + EVENT_KEY + '.' + this.selectId + '.setMenuSize');\r\n }\r\n }\r\n\r\n this.createView(false, true, refresh);\r\n },\r\n\r\n setWidth: function () {\r\n var that = this;\r\n\r\n if (this.options.width === 'auto') {\r\n requestAnimationFrame(function () {\r\n that.$menu.css('min-width', '0');\r\n\r\n that.$element.on('loaded' + EVENT_KEY, function () {\r\n that.liHeight();\r\n that.setMenuSize();\r\n\r\n // Get correct width if element is hidden\r\n var $selectClone = that.$newElement.clone().appendTo('body'),\r\n btnWidth = $selectClone.css('width', 'auto').children('button').outerWidth();\r\n\r\n $selectClone.remove();\r\n\r\n // Set width to whatever's larger, button title or longest option\r\n that.sizeInfo.selectWidth = Math.max(that.sizeInfo.totalMenuWidth, btnWidth);\r\n that.$newElement.css('width', that.sizeInfo.selectWidth + 'px');\r\n });\r\n });\r\n } else if (this.options.width === 'fit') {\r\n // Remove inline min-width so width can be changed from 'auto'\r\n this.$menu.css('min-width', '');\r\n this.$newElement.css('width', '').addClass('fit-width');\r\n } else if (this.options.width) {\r\n // Remove inline min-width so width can be changed from 'auto'\r\n this.$menu.css('min-width', '');\r\n this.$newElement.css('width', this.options.width);\r\n } else {\r\n // Remove inline min-width/width so width can be changed\r\n this.$menu.css('min-width', '');\r\n this.$newElement.css('width', '');\r\n }\r\n // Remove fit-width class if width is changed programmatically\r\n if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') {\r\n this.$newElement[0].classList.remove('fit-width');\r\n }\r\n },\r\n\r\n selectPosition: function () {\r\n this.$bsContainer = $('
    ');\r\n\r\n var that = this,\r\n $container = $(this.options.container),\r\n pos,\r\n containerPos,\r\n actualHeight,\r\n getPlacement = function ($element) {\r\n var containerPosition = {},\r\n // fall back to dropdown's default display setting if display is not manually set\r\n display = that.options.display || (\r\n // Bootstrap 3 doesn't have $.fn.dropdown.Constructor.Default\r\n $.fn.dropdown.Constructor.Default ? $.fn.dropdown.Constructor.Default.display\r\n : false\r\n );\r\n\r\n that.$bsContainer.addClass($element.attr('class').replace(/form-control|fit-width/gi, '')).toggleClass(classNames.DROPUP, $element.hasClass(classNames.DROPUP));\r\n pos = $element.offset();\r\n\r\n if (!$container.is('body')) {\r\n containerPos = $container.offset();\r\n containerPos.top += parseInt($container.css('borderTopWidth')) - $container.scrollTop();\r\n containerPos.left += parseInt($container.css('borderLeftWidth')) - $container.scrollLeft();\r\n } else {\r\n containerPos = { top: 0, left: 0 };\r\n }\r\n\r\n actualHeight = $element.hasClass(classNames.DROPUP) ? 0 : $element[0].offsetHeight;\r\n\r\n // Bootstrap 4+ uses Popper for menu positioning\r\n if (version.major < 4 || display === 'static') {\r\n containerPosition.top = pos.top - containerPos.top + actualHeight;\r\n containerPosition.left = pos.left - containerPos.left;\r\n }\r\n\r\n containerPosition.width = $element[0].offsetWidth;\r\n\r\n that.$bsContainer.css(containerPosition);\r\n };\r\n\r\n this.$button.on('click.bs.dropdown.data-api', function () {\r\n if (that.isDisabled()) {\r\n return;\r\n }\r\n\r\n getPlacement(that.$newElement);\r\n\r\n that.$bsContainer\r\n .appendTo(that.options.container)\r\n .toggleClass(classNames.SHOW, !that.$button.hasClass(classNames.SHOW))\r\n .append(that.$menu);\r\n });\r\n\r\n $(window)\r\n .off('resize' + EVENT_KEY + '.' + this.selectId + ' scroll' + EVENT_KEY + '.' + this.selectId)\r\n .on('resize' + EVENT_KEY + '.' + this.selectId + ' scroll' + EVENT_KEY + '.' + this.selectId, function () {\r\n var isActive = that.$newElement.hasClass(classNames.SHOW);\r\n\r\n if (isActive) getPlacement(that.$newElement);\r\n });\r\n\r\n this.$element.on('hide' + EVENT_KEY, function () {\r\n that.$menu.data('height', that.$menu.height());\r\n that.$bsContainer.detach();\r\n });\r\n },\r\n\r\n setOptionStatus: function (selectedOnly) {\r\n var that = this;\r\n\r\n that.noScroll = false;\r\n\r\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\r\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\r\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\r\n option = liData.option;\r\n\r\n if (option) {\r\n if (selectedOnly !== true) {\r\n that.setDisabled(\r\n liData.index,\r\n liData.disabled\r\n );\r\n }\r\n\r\n that.setSelected(\r\n liData.index,\r\n option.selected\r\n );\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * @param {number} index - the index of the option that is being changed\r\n * @param {boolean} selected - true if the option is being selected, false if being deselected\r\n */\r\n setSelected: function (index, selected) {\r\n var li = this.selectpicker.main.elements[index],\r\n liData = this.selectpicker.main.data[index],\r\n activeIndexIsSet = this.activeIndex !== undefined,\r\n thisIsActive = this.activeIndex === index,\r\n prevActive,\r\n a,\r\n // if current option is already active\r\n // OR\r\n // if the current option is being selected, it's NOT multiple, and\r\n // activeIndex is undefined:\r\n // - when the menu is first being opened, OR\r\n // - after a search has been performed, OR\r\n // - when retainActive is false when selecting a new option (i.e. index of the newly selected option is not the same as the current activeIndex)\r\n keepActive = thisIsActive || (selected && !this.multiple && !activeIndexIsSet);\r\n\r\n liData.selected = selected;\r\n\r\n a = li.firstChild;\r\n\r\n if (selected) {\r\n this.selectedIndex = index;\r\n }\r\n\r\n li.classList.toggle('selected', selected);\r\n\r\n if (keepActive) {\r\n this.focusItem(li, liData);\r\n this.selectpicker.view.currentActive = li;\r\n this.activeIndex = index;\r\n } else {\r\n this.defocusItem(li);\r\n }\r\n\r\n if (a) {\r\n a.classList.toggle('selected', selected);\r\n\r\n if (selected) {\r\n a.setAttribute('aria-selected', true);\r\n } else {\r\n if (this.multiple) {\r\n a.setAttribute('aria-selected', false);\r\n } else {\r\n a.removeAttribute('aria-selected');\r\n }\r\n }\r\n }\r\n\r\n if (!keepActive && !activeIndexIsSet && selected && this.prevActiveIndex !== undefined) {\r\n prevActive = this.selectpicker.main.elements[this.prevActiveIndex];\r\n\r\n this.defocusItem(prevActive);\r\n }\r\n },\r\n\r\n /**\r\n * @param {number} index - the index of the option that is being disabled\r\n * @param {boolean} disabled - true if the option is being disabled, false if being enabled\r\n */\r\n setDisabled: function (index, disabled) {\r\n var li = this.selectpicker.main.elements[index],\r\n a;\r\n\r\n this.selectpicker.main.data[index].disabled = disabled;\r\n\r\n a = li.firstChild;\r\n\r\n li.classList.toggle(classNames.DISABLED, disabled);\r\n\r\n if (a) {\r\n if (version.major === '4') a.classList.toggle(classNames.DISABLED, disabled);\r\n\r\n if (disabled) {\r\n a.setAttribute('aria-disabled', disabled);\r\n a.setAttribute('tabindex', -1);\r\n } else {\r\n a.removeAttribute('aria-disabled');\r\n a.setAttribute('tabindex', 0);\r\n }\r\n }\r\n },\r\n\r\n isDisabled: function () {\r\n return this.$element[0].disabled;\r\n },\r\n\r\n checkDisabled: function () {\r\n if (this.isDisabled()) {\r\n this.$newElement[0].classList.add(classNames.DISABLED);\r\n this.$button.addClass(classNames.DISABLED).attr('tabindex', -1).attr('aria-disabled', true);\r\n } else {\r\n if (this.$button[0].classList.contains(classNames.DISABLED)) {\r\n this.$newElement[0].classList.remove(classNames.DISABLED);\r\n this.$button.removeClass(classNames.DISABLED).attr('aria-disabled', false);\r\n }\r\n\r\n if (this.$button.attr('tabindex') == -1 && !this.$element.data('tabindex')) {\r\n this.$button.removeAttr('tabindex');\r\n }\r\n }\r\n },\r\n\r\n tabIndex: function () {\r\n if (this.$element.data('tabindex') !== this.$element.attr('tabindex') &&\r\n (this.$element.attr('tabindex') !== -98 && this.$element.attr('tabindex') !== '-98')) {\r\n this.$element.data('tabindex', this.$element.attr('tabindex'));\r\n this.$button.attr('tabindex', this.$element.data('tabindex'));\r\n }\r\n\r\n this.$element.attr('tabindex', -98);\r\n },\r\n\r\n clickListener: function () {\r\n var that = this,\r\n $document = $(document);\r\n\r\n $document.data('spaceSelect', false);\r\n\r\n this.$button.on('keyup', function (e) {\r\n if (/(32)/.test(e.keyCode.toString(10)) && $document.data('spaceSelect')) {\r\n e.preventDefault();\r\n $document.data('spaceSelect', false);\r\n }\r\n });\r\n\r\n this.$newElement.on('show.bs.dropdown', function () {\r\n if (version.major > 3 && !that.dropdown) {\r\n that.dropdown = that.$button.data('bs.dropdown');\r\n that.dropdown._menu = that.$menu[0];\r\n }\r\n });\r\n\r\n this.$button.on('click.bs.dropdown.data-api', function () {\r\n if (!that.$newElement.hasClass(classNames.SHOW)) {\r\n that.setSize();\r\n }\r\n });\r\n\r\n function setFocus () {\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$menuInner.trigger('focus');\r\n }\r\n }\r\n\r\n function checkPopperExists () {\r\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state.isCreated) {\r\n setFocus();\r\n } else {\r\n requestAnimationFrame(checkPopperExists);\r\n }\r\n }\r\n\r\n this.$element.on('shown' + EVENT_KEY, function () {\r\n if (that.$menuInner[0].scrollTop !== that.selectpicker.view.scrollTop) {\r\n that.$menuInner[0].scrollTop = that.selectpicker.view.scrollTop;\r\n }\r\n\r\n if (version.major > 3) {\r\n requestAnimationFrame(checkPopperExists);\r\n } else {\r\n setFocus();\r\n }\r\n });\r\n\r\n // ensure posinset and setsize are correct before selecting an option via a click\r\n this.$menuInner.on('mouseenter', 'li a', function (e) {\r\n var hoverLi = this.parentElement,\r\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\r\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\r\n hoverData = that.selectpicker.current.data[index + position0];\r\n\r\n that.focusItem(hoverLi, hoverData, true);\r\n });\r\n\r\n this.$menuInner.on('click', 'li a', function (e, retainActive) {\r\n var $this = $(this),\r\n element = that.$element[0],\r\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\r\n clickedData = that.selectpicker.current.data[$this.parent().index() + position0],\r\n clickedIndex = clickedData.index,\r\n prevValue = getSelectValues(element),\r\n prevIndex = element.selectedIndex,\r\n prevOption = element.options[prevIndex],\r\n triggerChange = true;\r\n\r\n // Don't close on multi choice menu\r\n if (that.multiple && that.options.maxOptions !== 1) {\r\n e.stopPropagation();\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Don't run if the select is disabled\r\n if (!that.isDisabled() && !$this.parent().hasClass(classNames.DISABLED)) {\r\n var option = clickedData.option,\r\n $option = $(option),\r\n state = option.selected,\r\n $optgroup = $option.parent('optgroup'),\r\n $optgroupOptions = $optgroup.find('option'),\r\n maxOptions = that.options.maxOptions,\r\n maxOptionsGrp = $optgroup.data('maxOptions') || false;\r\n\r\n if (clickedIndex === that.activeIndex) retainActive = true;\r\n\r\n if (!retainActive) {\r\n that.prevActiveIndex = that.activeIndex;\r\n that.activeIndex = undefined;\r\n }\r\n\r\n if (!that.multiple) { // Deselect all others if not multi select box\r\n if (prevOption) prevOption.selected = false;\r\n option.selected = true;\r\n that.setSelected(clickedIndex, true);\r\n } else { // Toggle the one we have chosen if we are multi select.\r\n option.selected = !state;\r\n\r\n that.setSelected(clickedIndex, !state);\r\n $this.trigger('blur');\r\n\r\n if (maxOptions !== false || maxOptionsGrp !== false) {\r\n var maxReached = maxOptions < getSelectedOptions(element).length,\r\n maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length;\r\n\r\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\r\n if (maxOptions && maxOptions == 1) {\r\n element.selectedIndex = -1;\r\n option.selected = true;\r\n that.setOptionStatus(true);\r\n } else if (maxOptionsGrp && maxOptionsGrp == 1) {\r\n for (var i = 0; i < $optgroupOptions.length; i++) {\r\n var _option = $optgroupOptions[i];\r\n _option.selected = false;\r\n that.setSelected(_option.liIndex, false);\r\n }\r\n\r\n option.selected = true;\r\n that.setSelected(clickedIndex, true);\r\n } else {\r\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\r\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\r\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\r\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\r\n $notify = $('
    ');\r\n // If {var} is set in array, replace it\r\n /** @deprecated */\r\n if (maxOptionsArr[2]) {\r\n maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]);\r\n maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]);\r\n }\r\n\r\n option.selected = false;\r\n\r\n that.$menu.append($notify);\r\n\r\n if (maxOptions && maxReached) {\r\n $notify.append($('
    ' + maxTxt + '
    '));\r\n triggerChange = false;\r\n that.$element.trigger('maxReached' + EVENT_KEY);\r\n }\r\n\r\n if (maxOptionsGrp && maxReachedGrp) {\r\n $notify.append($('
    ' + maxTxtGrp + '
    '));\r\n triggerChange = false;\r\n that.$element.trigger('maxReachedGrp' + EVENT_KEY);\r\n }\r\n\r\n setTimeout(function () {\r\n that.setSelected(clickedIndex, false);\r\n }, 10);\r\n\r\n $notify[0].classList.add('fadeOut');\r\n\r\n setTimeout(function () {\r\n $notify.remove();\r\n }, 1050);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\r\n that.$button.trigger('focus');\r\n } else if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n }\r\n\r\n // Trigger select 'change'\r\n if (triggerChange) {\r\n if (that.multiple || prevIndex !== element.selectedIndex) {\r\n // $option.prop('selected') is current option state (selected/unselected). prevValue is the value of the select prior to being changed.\r\n changedArguments = [option.index, $option.prop('selected'), prevValue];\r\n that.$element\r\n .triggerNative('change');\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.$menu.on('click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.close)', function (e) {\r\n if (e.currentTarget == this) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (that.options.liveSearch && !$(e.target).hasClass('close')) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$button.trigger('focus');\r\n }\r\n }\r\n });\r\n\r\n this.$menuInner.on('click', '.divider, .dropdown-header', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$button.trigger('focus');\r\n }\r\n });\r\n\r\n this.$menu.on('click', '.' + classNames.POPOVERHEADER + ' .close', function () {\r\n that.$button.trigger('click');\r\n });\r\n\r\n this.$searchbox.on('click', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n this.$menu.on('click', '.actions-btn', function (e) {\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$button.trigger('focus');\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if ($(this).hasClass('bs-select-all')) {\r\n that.selectAll();\r\n } else {\r\n that.deselectAll();\r\n }\r\n });\r\n\r\n this.$element\r\n .on('change' + EVENT_KEY, function () {\r\n that.render();\r\n that.$element.trigger('changed' + EVENT_KEY, changedArguments);\r\n changedArguments = null;\r\n })\r\n .on('focus' + EVENT_KEY, function () {\r\n if (!that.options.mobile) that.$button.trigger('focus');\r\n });\r\n },\r\n\r\n liveSearchListener: function () {\r\n var that = this,\r\n noResults = document.createElement('li');\r\n\r\n this.$button.on('click.bs.dropdown.data-api', function () {\r\n if (!!that.$searchbox.val()) {\r\n that.$searchbox.val('');\r\n }\r\n });\r\n\r\n this.$searchbox.on('click.bs.dropdown.data-api focus.bs.dropdown.data-api touchend.bs.dropdown.data-api', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n this.$searchbox.on('input propertychange', function () {\r\n var searchValue = that.$searchbox.val();\r\n\r\n that.selectpicker.search.elements = [];\r\n that.selectpicker.search.data = [];\r\n\r\n if (searchValue) {\r\n var i,\r\n searchMatch = [],\r\n q = searchValue.toUpperCase(),\r\n cache = {},\r\n cacheArr = [],\r\n searchStyle = that._searchStyle(),\r\n normalizeSearch = that.options.liveSearchNormalize;\r\n\r\n if (normalizeSearch) q = normalizeToBase(q);\r\n\r\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\r\n var li = that.selectpicker.main.data[i];\r\n\r\n if (!cache[i]) {\r\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\r\n }\r\n\r\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\r\n if (li.headerIndex > 0) {\r\n cache[li.headerIndex - 1] = true;\r\n cacheArr.push(li.headerIndex - 1);\r\n }\r\n\r\n cache[li.headerIndex] = true;\r\n cacheArr.push(li.headerIndex);\r\n\r\n cache[li.lastIndex + 1] = true;\r\n }\r\n\r\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\r\n }\r\n\r\n for (var i = 0, cacheLen = cacheArr.length; i < cacheLen; i++) {\r\n var index = cacheArr[i],\r\n prevIndex = cacheArr[i - 1],\r\n li = that.selectpicker.main.data[index],\r\n liPrev = that.selectpicker.main.data[prevIndex];\r\n\r\n if (li.type !== 'divider' || (li.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== i)) {\r\n that.selectpicker.search.data.push(li);\r\n searchMatch.push(that.selectpicker.main.elements[index]);\r\n }\r\n }\r\n\r\n that.activeIndex = undefined;\r\n that.noScroll = true;\r\n that.$menuInner.scrollTop(0);\r\n that.selectpicker.search.elements = searchMatch;\r\n that.createView(true);\r\n\r\n if (!searchMatch.length) {\r\n noResults.className = 'no-results';\r\n noResults.innerHTML = that.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\r\n that.$menuInner[0].firstChild.appendChild(noResults);\r\n }\r\n } else {\r\n that.$menuInner.scrollTop(0);\r\n that.createView(false);\r\n }\r\n });\r\n },\r\n\r\n _searchStyle: function () {\r\n return this.options.liveSearchStyle || 'contains';\r\n },\r\n\r\n val: function (value) {\r\n var element = this.$element[0];\r\n\r\n if (typeof value !== 'undefined') {\r\n var prevValue = getSelectValues(element);\r\n\r\n changedArguments = [null, null, prevValue];\r\n\r\n this.$element\r\n .val(value)\r\n .trigger('changed' + EVENT_KEY, changedArguments);\r\n\r\n if (this.$newElement.hasClass(classNames.SHOW)) {\r\n if (this.multiple) {\r\n this.setOptionStatus(true);\r\n } else {\r\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\r\n\r\n if (typeof liSelectedIndex === 'number') {\r\n this.setSelected(this.selectedIndex, false);\r\n this.setSelected(liSelectedIndex, true);\r\n }\r\n }\r\n }\r\n\r\n this.render();\r\n\r\n changedArguments = null;\r\n\r\n return this.$element;\r\n } else {\r\n return this.$element.val();\r\n }\r\n },\r\n\r\n changeAll: function (status) {\r\n if (!this.multiple) return;\r\n if (typeof status === 'undefined') status = true;\r\n\r\n var element = this.$element[0],\r\n previousSelected = 0,\r\n currentSelected = 0,\r\n prevValue = getSelectValues(element);\r\n\r\n element.classList.add('bs-select-hidden');\r\n\r\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\r\n var liData = data[i],\r\n option = liData.option;\r\n\r\n if (option && !liData.disabled && liData.type !== 'divider') {\r\n if (liData.selected) previousSelected++;\r\n option.selected = status;\r\n if (status === true) currentSelected++;\r\n }\r\n }\r\n\r\n element.classList.remove('bs-select-hidden');\r\n\r\n if (previousSelected === currentSelected) return;\r\n\r\n this.setOptionStatus();\r\n\r\n changedArguments = [null, null, prevValue];\r\n\r\n this.$element\r\n .triggerNative('change');\r\n },\r\n\r\n selectAll: function () {\r\n return this.changeAll(true);\r\n },\r\n\r\n deselectAll: function () {\r\n return this.changeAll(false);\r\n },\r\n\r\n toggle: function (e) {\r\n e = e || window.event;\r\n\r\n if (e) e.stopPropagation();\r\n\r\n this.$button.trigger('click.bs.dropdown.data-api');\r\n },\r\n\r\n keydown: function (e) {\r\n var $this = $(this),\r\n isToggle = $this.hasClass('dropdown-toggle'),\r\n $parent = isToggle ? $this.closest('.dropdown') : $this.closest(Selector.MENU),\r\n that = $parent.data('this'),\r\n $items = that.findLis(),\r\n index,\r\n isActive,\r\n liActive,\r\n activeLi,\r\n offset,\r\n updateScroll = false,\r\n downOnTab = e.which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\r\n isArrowKey = REGEXP_ARROW.test(e.which) || downOnTab,\r\n scrollTop = that.$menuInner[0].scrollTop,\r\n isVirtual = that.isVirtual(),\r\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\r\n\r\n // do nothing if a function key is pressed\r\n if (e.which >= 112 && e.which <= 123) return;\r\n\r\n isActive = that.$newElement.hasClass(classNames.SHOW);\r\n\r\n if (\r\n !isActive &&\r\n (\r\n isArrowKey ||\r\n (e.which >= 48 && e.which <= 57) ||\r\n (e.which >= 96 && e.which <= 105) ||\r\n (e.which >= 65 && e.which <= 90)\r\n )\r\n ) {\r\n that.$button.trigger('click.bs.dropdown.data-api');\r\n\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n return;\r\n }\r\n }\r\n\r\n if (e.which === keyCodes.ESCAPE && isActive) {\r\n e.preventDefault();\r\n that.$button.trigger('click.bs.dropdown.data-api').trigger('focus');\r\n }\r\n\r\n if (isArrowKey) { // if up or down\r\n if (!$items.length) return;\r\n\r\n liActive = that.selectpicker.main.elements[that.activeIndex];\r\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\r\n\r\n if (index !== -1) {\r\n that.defocusItem(liActive);\r\n }\r\n\r\n if (e.which === keyCodes.ARROW_UP) { // up\r\n if (index !== -1) index--;\r\n if (index + position0 < 0) index += $items.length;\r\n\r\n if (!that.selectpicker.view.canHighlight[index + position0]) {\r\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\r\n if (index === -1) index = $items.length - 1;\r\n }\r\n } else if (e.which === keyCodes.ARROW_DOWN || downOnTab) { // down\r\n index++;\r\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = 0;\r\n\r\n if (!that.selectpicker.view.canHighlight[index + position0]) {\r\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\r\n }\r\n }\r\n\r\n e.preventDefault();\r\n\r\n var liActiveIndex = position0 + index;\r\n\r\n if (e.which === keyCodes.ARROW_UP) { // up\r\n // scroll to bottom and highlight last option\r\n if (position0 === 0 && index === $items.length - 1) {\r\n that.$menuInner[0].scrollTop = that.$menuInner[0].scrollHeight;\r\n\r\n liActiveIndex = that.selectpicker.current.elements.length - 1;\r\n } else {\r\n activeLi = that.selectpicker.current.data[liActiveIndex];\r\n offset = activeLi.position - activeLi.height;\r\n\r\n updateScroll = offset < scrollTop;\r\n }\r\n } else if (e.which === keyCodes.ARROW_DOWN || downOnTab) { // down\r\n // scroll to top and highlight first option\r\n if (index === 0) {\r\n that.$menuInner[0].scrollTop = 0;\r\n\r\n liActiveIndex = 0;\r\n } else {\r\n activeLi = that.selectpicker.current.data[liActiveIndex];\r\n offset = activeLi.position - that.sizeInfo.menuInnerHeight;\r\n\r\n updateScroll = offset > scrollTop;\r\n }\r\n }\r\n\r\n liActive = that.selectpicker.current.elements[liActiveIndex];\r\n\r\n that.activeIndex = that.selectpicker.current.data[liActiveIndex].index;\r\n\r\n that.focusItem(liActive);\r\n\r\n that.selectpicker.view.currentActive = liActive;\r\n\r\n if (updateScroll) that.$menuInner[0].scrollTop = offset;\r\n\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n $this.trigger('focus');\r\n }\r\n } else if (\r\n (!$this.is('input') && !REGEXP_TAB_OR_ESCAPE.test(e.which)) ||\r\n (e.which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\r\n ) {\r\n var searchMatch,\r\n matches = [],\r\n keyHistory;\r\n\r\n e.preventDefault();\r\n\r\n that.selectpicker.keydown.keyHistory += keyCodeMap[e.which];\r\n\r\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\r\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\r\n\r\n keyHistory = that.selectpicker.keydown.keyHistory;\r\n\r\n // if all letters are the same, set keyHistory to just the first character when searching\r\n if (/^(.)\\1+$/.test(keyHistory)) {\r\n keyHistory = keyHistory.charAt(0);\r\n }\r\n\r\n // find matches\r\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\r\n var li = that.selectpicker.current.data[i],\r\n hasMatch;\r\n\r\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\r\n\r\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\r\n matches.push(li.index);\r\n }\r\n }\r\n\r\n if (matches.length) {\r\n var matchIndex = 0;\r\n\r\n $items.removeClass('active').find('a').removeClass('active');\r\n\r\n // either only one key has been pressed or they are all the same key\r\n if (keyHistory.length === 1) {\r\n matchIndex = matches.indexOf(that.activeIndex);\r\n\r\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\r\n matchIndex = 0;\r\n } else {\r\n matchIndex++;\r\n }\r\n }\r\n\r\n searchMatch = matches[matchIndex];\r\n\r\n activeLi = that.selectpicker.main.data[searchMatch];\r\n\r\n if (scrollTop - activeLi.position > 0) {\r\n offset = activeLi.position - activeLi.height;\r\n updateScroll = true;\r\n } else {\r\n offset = activeLi.position - that.sizeInfo.menuInnerHeight;\r\n // if the option is already visible at the current scroll position, just keep it the same\r\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\r\n }\r\n\r\n liActive = that.selectpicker.main.elements[searchMatch];\r\n\r\n that.activeIndex = matches[matchIndex];\r\n\r\n that.focusItem(liActive);\r\n\r\n if (liActive) liActive.firstChild.focus();\r\n\r\n if (updateScroll) that.$menuInner[0].scrollTop = offset;\r\n\r\n $this.trigger('focus');\r\n }\r\n }\r\n\r\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\r\n if (\r\n isActive &&\r\n (\r\n (e.which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\r\n e.which === keyCodes.ENTER ||\r\n (e.which === keyCodes.TAB && that.options.selectOnTab)\r\n )\r\n ) {\r\n if (e.which !== keyCodes.SPACE) e.preventDefault();\r\n\r\n if (!that.options.liveSearch || e.which !== keyCodes.SPACE) {\r\n that.$menuInner.find('.active a').trigger('click', true); // retain active class\r\n $this.trigger('focus');\r\n\r\n if (!that.options.liveSearch) {\r\n // Prevent screen from scrolling if the user hits the spacebar\r\n e.preventDefault();\r\n // Fixes spacebar selection of dropdown items in FF & IE\r\n $(document).data('spaceSelect', true);\r\n }\r\n }\r\n }\r\n },\r\n\r\n mobile: function () {\r\n this.$element[0].classList.add('mobile-device');\r\n },\r\n\r\n refresh: function () {\r\n // update options if data attributes have been changed\r\n var config = $.extend({}, this.options, this.$element.data());\r\n this.options = config;\r\n\r\n this.checkDisabled();\r\n this.setStyle();\r\n this.render();\r\n this.buildData();\r\n this.buildList();\r\n this.setWidth();\r\n\r\n this.setSize(true);\r\n\r\n this.$element.trigger('refreshed' + EVENT_KEY);\r\n },\r\n\r\n hide: function () {\r\n this.$newElement.hide();\r\n },\r\n\r\n show: function () {\r\n this.$newElement.show();\r\n },\r\n\r\n remove: function () {\r\n this.$newElement.remove();\r\n this.$element.remove();\r\n },\r\n\r\n destroy: function () {\r\n this.$newElement.before(this.$element).remove();\r\n\r\n if (this.$bsContainer) {\r\n this.$bsContainer.remove();\r\n } else {\r\n this.$menu.remove();\r\n }\r\n\r\n this.$element\r\n .off(EVENT_KEY)\r\n .removeData('selectpicker')\r\n .removeClass('bs-select-hidden selectpicker');\r\n\r\n $(window).off(EVENT_KEY + '.' + this.selectId);\r\n }\r\n };\r\n\r\n // SELECTPICKER PLUGIN DEFINITION\r\n // ==============================\r\n function Plugin (option) {\r\n // get the args of the outer function..\r\n var args = arguments;\r\n // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them\r\n // to get lost/corrupted in android 2.3 and IE9 #715 #775\r\n var _option = option;\r\n\r\n [].shift.apply(args);\r\n\r\n // if the version was not set successfully\r\n if (!version.success) {\r\n // try to retreive it again\r\n try {\r\n version.full = ($.fn.dropdown.Constructor.VERSION || '').split(' ')[0].split('.');\r\n } catch (err) {\r\n // fall back to use BootstrapVersion if set\r\n if (Selectpicker.BootstrapVersion) {\r\n version.full = Selectpicker.BootstrapVersion.split(' ')[0].split('.');\r\n } else {\r\n version.full = [version.major, '0', '0'];\r\n\r\n console.warn(\r\n 'There was an issue retrieving Bootstrap\\'s version. ' +\r\n 'Ensure Bootstrap is being loaded before bootstrap-select and there is no namespace collision. ' +\r\n 'If loading Bootstrap asynchronously, the version may need to be manually specified via $.fn.selectpicker.Constructor.BootstrapVersion.',\r\n err\r\n );\r\n }\r\n }\r\n\r\n version.major = version.full[0];\r\n version.success = true;\r\n }\r\n\r\n if (version.major === '4') {\r\n // some defaults need to be changed if using Bootstrap 4\r\n // check to see if they have already been manually changed before forcing them to update\r\n var toUpdate = [];\r\n\r\n if (Selectpicker.DEFAULTS.style === classNames.BUTTONCLASS) toUpdate.push({ name: 'style', className: 'BUTTONCLASS' });\r\n if (Selectpicker.DEFAULTS.iconBase === classNames.ICONBASE) toUpdate.push({ name: 'iconBase', className: 'ICONBASE' });\r\n if (Selectpicker.DEFAULTS.tickIcon === classNames.TICKICON) toUpdate.push({ name: 'tickIcon', className: 'TICKICON' });\r\n\r\n classNames.DIVIDER = 'dropdown-divider';\r\n classNames.SHOW = 'show';\r\n classNames.BUTTONCLASS = 'btn-light';\r\n classNames.POPOVERHEADER = 'popover-header';\r\n classNames.ICONBASE = '';\r\n classNames.TICKICON = 'bs-ok-default';\r\n\r\n for (var i = 0; i < toUpdate.length; i++) {\r\n var option = toUpdate[i];\r\n Selectpicker.DEFAULTS[option.name] = classNames[option.className];\r\n }\r\n }\r\n\r\n var value;\r\n var chain = this.each(function () {\r\n var $this = $(this);\r\n if ($this.is('select')) {\r\n var data = $this.data('selectpicker'),\r\n options = typeof _option == 'object' && _option;\r\n\r\n if (!data) {\r\n var dataAttributes = $this.data();\r\n\r\n for (var dataAttr in dataAttributes) {\r\n if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n }\r\n\r\n var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, dataAttributes, options);\r\n config.template = $.extend({}, Selectpicker.DEFAULTS.template, ($.fn.selectpicker.defaults ? $.fn.selectpicker.defaults.template : {}), dataAttributes.template, options.template);\r\n $this.data('selectpicker', (data = new Selectpicker(this, config)));\r\n } else if (options) {\r\n for (var i in options) {\r\n if (options.hasOwnProperty(i)) {\r\n data.options[i] = options[i];\r\n }\r\n }\r\n }\r\n\r\n if (typeof _option == 'string') {\r\n if (data[_option] instanceof Function) {\r\n value = data[_option].apply(data, args);\r\n } else {\r\n value = data.options[_option];\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (typeof value !== 'undefined') {\r\n // noinspection JSUnusedAssignment\r\n return value;\r\n } else {\r\n return chain;\r\n }\r\n }\r\n\r\n var old = $.fn.selectpicker;\r\n $.fn.selectpicker = Plugin;\r\n $.fn.selectpicker.Constructor = Selectpicker;\r\n\r\n // SELECTPICKER NO CONFLICT\r\n // ========================\r\n $.fn.selectpicker.noConflict = function () {\r\n $.fn.selectpicker = old;\r\n return this;\r\n };\r\n\r\n // get Bootstrap's keydown event handler for either Bootstrap 4 or Bootstrap 3\r\n var bootstrapKeydown = $.fn.dropdown.Constructor._dataApiKeydownHandler || $.fn.dropdown.Constructor.prototype.keydown;\r\n\r\n $(document)\r\n .off('keydown.bs.dropdown.data-api')\r\n .on('keydown.bs.dropdown.data-api', ':not(.bootstrap-select) > [data-toggle=\"dropdown\"]', bootstrapKeydown)\r\n .on('keydown.bs.dropdown.data-api', ':not(.bootstrap-select) > .dropdown-menu', bootstrapKeydown)\r\n .on('keydown' + EVENT_KEY, '.bootstrap-select [data-toggle=\"dropdown\"], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input', Selectpicker.prototype.keydown)\r\n .on('focusin.modal', '.bootstrap-select [data-toggle=\"dropdown\"], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n // SELECTPICKER DATA-API\r\n // =====================\r\n $(window).on('load' + EVENT_KEY + '.data-api', function () {\r\n $('.selectpicker').each(function () {\r\n var $selectpicker = $(this);\r\n Plugin.call($selectpicker, $selectpicker.data());\r\n })\r\n });\r\n})(jQuery);\r\n"]} \ No newline at end of file diff --git a/key4intranet.front/public/assets/js/bootstrap/bootstrap.bundle.min.js b/key4intranet.front/public/assets/js/bootstrap/bootstrap.bundle.min.js new file mode 100644 index 0000000..7d50e87 --- /dev/null +++ b/key4intranet.front/public/assets/js/bootstrap/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,e){"use strict";function n(t,e){for(var n=0;n0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var o=n[r],s=e[r],a=s&&i.isElement(s)?"element":(l=s,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(o).test(a))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+a+'" but expected type "'+o+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e=e&&e.hasOwnProperty("default")?e.default:e),L=(s="alert",l="."+(a="bs.alert"),c=(o=e).fn[s],h={CLOSE:"close"+l,CLOSED:"closed"+l,CLICK_DATA_API:"click"+l+".data-api"},f="alert",u="fade",d="show",p=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,a),this._element=null},e._getRootElement=function(t){var e=k.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(h.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(d),k.supportsTransitionEnd()&&o(t).hasClass(u)?o(t).one(k.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(h.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(a);i||(i=new t(this),n.data(a,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},i(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),o.fn[s]=p._jQueryInterface,o.fn[s].Constructor=p,o.fn[s].noConflict=function(){return o.fn[s]=c,p._jQueryInterface},p),P=(m="button",v="."+(_="bs.button"),E=".data-api",y=(g=e).fn[m],b="active",T="btn",C="focus",w='[data-toggle^="button"]',I='[data-toggle="buttons"]',A="input",D=".active",S=".btn",O={CLICK_DATA_API:"click"+v+E,FOCUS_BLUR_DATA_API:"focus"+v+E+" blur"+v+E},N=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(I)[0];if(n){var i=g(this._element).find(A)[0];if(i){if("radio"===i.type)if(i.checked&&g(this._element).hasClass(b))t=!1;else{var r=g(n).find(D)[0];r&&g(r).removeClass(b)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!g(this._element).hasClass(b),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!g(this._element).hasClass(b)),t&&g(this._element).toggleClass(b)},e.dispose=function(){g.removeData(this._element,_),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=g(this).data(_);n||(n=new t(this),g(this).data(_,n)),"toggle"===e&&n[e]()})},i(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),g(document).on(O.CLICK_DATA_API,w,function(t){t.preventDefault();var e=t.target;g(e).hasClass(T)||(e=g(e).closest(S)),N._jQueryInterface.call(g(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(S)[0];g(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),g.fn[m]=N._jQueryInterface,g.fn[m].Constructor=N,g.fn[m].noConflict=function(){return g.fn[m]=y,N._jQueryInterface},N),x=function(t){var e="carousel",n="bs.carousel",o="."+n,s=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},c="next",h="prev",f="left",u="right",d={SLIDE:"slide"+o,SLID:"slid"+o,KEYDOWN:"keydown"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o,TOUCHEND:"touchend"+o,LOAD_DATA_API:"load"+o+".data-api",CLICK_DATA_API:"click"+o+".data-api"},p="carousel",g="active",m="slide",_="carousel-item-right",v="carousel-item-left",E="carousel-item-next",y="carousel-item-prev",b={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 s(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(b.INDICATORS)[0],this._addEventListeners()}var T=s.prototype;return T.next=function(){this._isSliding||this._slide(c)},T.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},T.prev=function(){this._isSliding||this._slide(h)},T.pause=function(e){e||(this._isPaused=!0),t(this._element).find(b.NEXT_PREV)[0]&&k.supportsTransitionEnd()&&(k.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},T.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))},T.to=function(e){var n=this;this._activeElement=t(this._element).find(b.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var r=e>i?c:h;this._slide(r,this._items[e])}},T.dispose=function(){t(this._element).off(o),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},T._getConfig=function(t){return t=r({},a,t),k.typeCheckConfig(e,t,l),t},T._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},T._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},T._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(b.ITEM)),this._items.indexOf(e)},T._getItemByDirection=function(t,e){var n=t===c,i=t===h,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===h?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},T._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),r=this._getItemIndex(t(this._element).find(b.ACTIVE_ITEM)[0]),o=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:r,to:i});return t(this._element).trigger(o),o},T._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(b.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},T._slide=function(e,n){var i,r,o,s=this,a=t(this._element).find(b.ACTIVE_ITEM)[0],l=this._getItemIndex(a),h=n||a&&this._getItemByDirection(e,a),p=this._getItemIndex(h),T=Boolean(this._interval);if(e===c?(i=v,r=E,o=f):(i=_,r=y,o=u),h&&t(h).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(h,o).isDefaultPrevented()&&a&&h){this._isSliding=!0,T&&this.pause(),this._setActiveIndicatorElement(h);var C=t.Event(d.SLID,{relatedTarget:h,direction:o,from:l,to:p});k.supportsTransitionEnd()&&t(this._element).hasClass(m)?(t(h).addClass(r),k.reflow(h),t(a).addClass(i),t(h).addClass(i),t(a).one(k.TRANSITION_END,function(){t(h).removeClass(i+" "+r).addClass(g),t(a).removeClass(g+" "+r+" "+i),s._isSliding=!1,setTimeout(function(){return t(s._element).trigger(C)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(h).addClass(g),this._isSliding=!1,t(this._element).trigger(C)),T&&this.cycle()}},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),o=r({},a,t(this).data());"object"==typeof e&&(o=r({},o,e));var l="string"==typeof e?e:o.slide;if(i||(i=new s(this,o),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else o.interval&&(i.pause(),i.cycle())})},s._dataApiClickHandler=function(e){var i=k.getSelectorFromElement(this);if(i){var o=t(i)[0];if(o&&t(o).hasClass(p)){var a=r({},t(o).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),s._jQueryInterface.call(t(o),a),l&&t(o).data(n).to(l),e.preventDefault()}}},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),s}();return t(document).on(d.CLICK_DATA_API,b.DATA_SLIDE,T._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(b.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]=s,T._jQueryInterface},T}(e),R=function(t){var e="collapse",n="bs.collapse",o="."+n,s=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},c={SHOW:"show"+o,SHOWN:"shown"+o,HIDE:"hide"+o,HIDDEN:"hidden"+o,CLICK_DATA_API:"click"+o+".data-api"},h="show",f="collapse",u="collapsing",d="collapsed",p="width",g="height",m={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},_=function(){function o(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(m.DATA_TOGGLE),r=0;r0&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var s=o.prototype;return s.toggle=function(){t(this._element).hasClass(h)?this.hide():this.show()},s.show=function(){var e,i,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(h)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(m.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(i=t(e).not(this._selector).data(n))&&i._isTransitioning))){var s=t.Event(c.SHOW);if(t(this._element).trigger(s),!s.isDefaultPrevented()){e&&(o._jQueryInterface.call(t(e).not(this._selector),"hide"),i||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(f).addClass(u),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(u).addClass(f).addClass(h),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(c.SHOWN)};if(k.supportsTransitionEnd()){var p="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(k.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[p]+"px"}else l()}}},s.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(h)){var n=t.Event(c.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",k.reflow(this._element),t(this._element).addClass(u).removeClass(f).removeClass(h),this._triggerArray.length>0)for(var r=0;r0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},o._getTargetFromElement=function(e){var n=k.getSelectorFromElement(e);return n?t(n)[0]:null},o._jQueryInterface=function(e){return this.each(function(){var i=t(this),s=i.data(n),l=r({},a,i.data(),"object"==typeof e&&e);if(!s&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),s||(s=new o(this,l),i.data(n,s)),"string"==typeof e){if("undefined"==typeof s[e])throw new TypeError('No method named "'+e+'"');s[e]()}})},i(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(c.CLICK_DATA_API,m.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),r=k.getSelectorFromElement(this);t(r).each(function(){var e=t(this),r=e.data(n)?"toggle":i.data();_._jQueryInterface.call(e,r)})}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=s,_._jQueryInterface},_}(e),j="undefined"!=typeof window&&"undefined"!=typeof document,H=["Edge","Trident","Firefox"],M=0,W=0;W=0){M=1;break}var U=j&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},M))}};function B(t){return t&&"[object Function]"==={}.toString.call(t)}function F(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function K(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function V(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=F(t),n=e.overflow,i=e.overflowX,r=e.overflowY;return/(auto|scroll)/.test(n+r+i)?t:V(K(t))}function Q(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===F(e,"position")?Q(e):e:t?t.ownerDocument.documentElement:document.documentElement}function Y(t){return null!==t.parentNode?Y(t.parentNode):t}function G(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(t!==l&&e!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&Q(s.firstElementChild)!==s?Q(l):l;var c=Y(t);return c.host?G(c.host,e):G(t,Y(e).host)}function q(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function z(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}var X=void 0,Z=function(){return void 0===X&&(X=-1!==navigator.appVersion.indexOf("MSIE 10")),X};function J(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Z()?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function $(){var t=document.body,e=document.documentElement,n=Z()&&getComputedStyle(e);return{height:J("Height",t,e,n),width:J("Width",t,e,n)}}var tt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},et=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=q(e,"top"),r=q(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}(h,e)),h}function at(t,e,n,i){var r,o,s,a,l,c,h,f={top:0,left:0},u=G(t,e);if("viewport"===i)o=(r=u).ownerDocument.documentElement,s=st(r,o),a=Math.max(o.clientWidth,window.innerWidth||0),l=Math.max(o.clientHeight,window.innerHeight||0),c=q(o),h=q(o,"left"),f=rt({top:c-s.top+s.marginTop,left:h-s.left+s.marginLeft,width:a,height:l});else{var d=void 0;"scrollParent"===i?"BODY"===(d=V(K(e))).nodeName&&(d=t.ownerDocument.documentElement):d="window"===i?t.ownerDocument.documentElement:i;var p=st(d,u);if("HTML"!==d.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===F(e,"position")||t(K(e)))}(u))f=p;else{var g=$(),m=g.height,_=g.width;f.top+=p.top-p.marginTop,f.bottom=m+p.top,f.left+=p.left-p.marginLeft,f.right=_+p.left}}return f.left+=n,f.top+=n,f.right-=n,f.bottom-=n,f}function lt(t,e,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=at(n,i,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return it({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),h=c.length>0?c[0].key:l[0].key,f=t.split("-")[1];return h+(f?"-"+f:"")}function ct(t,e,n){return st(n,G(e,n))}function ht(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function ft(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function ut(t,e,n){n=n.split("-")[0];var i=ht(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[ft(a)],r}function dt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function pt(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=dt(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&B(n)&&(e.offsets.popper=rt(e.offsets.popper),e.offsets.reference=rt(e.offsets.reference),e=n(e,t))}),e}function gt(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function mt(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=wt.indexOf(t),i=wt.slice(n+1).concat(wt.slice(0,n));return e?i.reverse():i}var At={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Dt(t,e,n,i){var r=[0,0],o=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(dt(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var r=(1===i?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return rt(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,r,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){yt(n)&&(r[e]+=n*("-"===t[i-1]?-1:1))})}),r}var St={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:nt({},l,o[l]),end:nt({},l,o[l]+o[c]-s[c])};t.offsets.popper=it({},s,h[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=yt(+n)?[+n,0]:Dt(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||Q(t.instance.popper);t.instance.reference===n&&(n=Q(n));var i=at(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=i;var r=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]i[t]&&!e.escapeWithReference&&(r=Math.min(o[n],i[t]-("right"===t?o.width:o.height))),nt({},n,r)}};return r.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=it({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Tt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var r=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",h=l?"Top":"Left",f=h.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=ht(i)[c];a[d]-ps[d]&&(t.offsets.popper[f]+=a[f]+p-s[d]),t.offsets.popper=rt(t.offsets.popper);var g=a[f]+a[c]/2-p/2,m=F(t.instance.popper),_=parseFloat(m["margin"+h],10),v=parseFloat(m["border"+h+"Width"],10),E=g-t.offsets.popper[f]-_-v;return E=Math.max(Math.min(s[c]-p,E),0),t.arrowElement=i,t.offsets.arrow=(nt(n={},f,Math.round(E)),nt(n,u,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(gt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=at(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),i=t.placement.split("-")[0],r=ft(i),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case At.FLIP:s=[i,r];break;case At.CLOCKWISE:s=It(i);break;case At.COUNTERCLOCKWISE:s=It(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],r=ft(i);var c,h=t.offsets.popper,f=t.offsets.reference,u=Math.floor,d="left"===i&&u(h.right)>u(f.left)||"right"===i&&u(h.left)u(f.top)||"bottom"===i&&u(h.top)u(n.right),m=u(h.top)u(n.bottom),v="left"===i&&p||"right"===i&&g||"top"===i&&m||"bottom"===i&&_,E=-1!==["top","bottom"].indexOf(i),y=!!e.flipVariations&&(E&&"start"===o&&p||E&&"end"===o&&g||!E&&"start"===o&&m||!E&&"end"===o&&_);(d||v||y)&&(t.flipped=!0,(d||v)&&(i=s[l+1]),y&&(o="end"===(c=o)?"start":"start"===c?"end":c),t.placement=i+(o?"-"+o:""),t.offsets.popper=it({},t.offsets.popper,ut(t.instance.popper,t.offsets.reference,t.placement)),t=pt(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=ft(e),t.offsets.popper=rt(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Tt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=dt(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};tt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=U(this.update.bind(this)),this.options=it({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(it({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=it({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return it({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&B(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return et(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ct(this.state,this.popper,this.reference),t.placement=lt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=ut(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=pt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,gt(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[mt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=vt(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return Et.call(this)}}]),t}();Ot.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ot.placements=Ct,Ot.Defaults=St;var Nt=function(t){var e="dropdown",n="bs.dropdown",o="."+n,s=t.fn[e],a=new RegExp("38|40|27"),l={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+".data-api",KEYDOWN_DATA_API:"keydown"+o+".data-api",KEYUP_DATA_API:"keyup"+o+".data-api"},c="disabled",h="show",f="dropup",u="dropright",d="dropleft",p="dropdown-menu-right",g="dropdown-menu-left",m="position-static",_='[data-toggle="dropdown"]',v=".dropdown form",E=".dropdown-menu",y=".navbar-nav",b=".dropdown-menu .dropdown-item:not(.disabled)",T="top-start",C="top-end",w="bottom-start",I="bottom-end",A="right-start",D="left-start",S={offset:0,flip:!0,boundary:"scrollParent"},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},N=function(){function s(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var v=s.prototype;return v.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(c)){var e=s._getParentFromElement(this._element),n=t(this._menu).hasClass(h);if(s._clearMenus(),!n){var i={relatedTarget:this._element},r=t.Event(l.SHOW,i);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof Ot)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(f)&&(t(this._menu).hasClass(g)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(m),this._popper=new Ot(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(y).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(h),t(e).toggleClass(h).trigger(t.Event(l.SHOWN,i))}}}},v.dispose=function(){t.removeData(this._element,n),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},v.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},v._addEventListeners=function(){var e=this;t(this._element).on(l.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},v._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),k.typeCheckConfig(e,n,this.constructor.DefaultType),n},v._getMenuElement=function(){if(!this._menu){var e=s._getParentFromElement(this._element);this._menu=t(e).find(E)[0]}return this._menu},v._getPlacement=function(){var e=t(this._element).parent(),n=w;return e.hasClass(f)?(n=T,t(this._menu).hasClass(p)&&(n=C)):e.hasClass(u)?n=A:e.hasClass(d)?n=D:t(this._menu).hasClass(p)&&(n=I),n},v._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},v._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new s(this,"object"==typeof e?e:null),t(this).data(n,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var i=t.makeArray(t(_)),r=0;r0&&o--,40===e.which&&odocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},g._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},g._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",u="out",d={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},p="fade",g="show",m=".tooltip-inner",_=".arrow",v="hover",E="focus",y="click",b="manual",T=function(){function s(t,e){if("undefined"==typeof Ot)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var T=s.prototype;return T.enable=function(){this._isEnabled=!0},T.disable=function(){this._isEnabled=!1},T.toggleEnabled=function(){this._isEnabled=!this._isEnabled},T.toggle=function(e){if(this._isEnabled)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(g))return void this._leave(null,this);this._enter(null,this)}},T.dispose=function(){clearTimeout(this._timeout),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,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},T.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){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var r=this.getTipElement(),o=k.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(p);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(a);this.addAttachmentClass(l);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Ot(this.element,r,{placement:l,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:_},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(g),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var h=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===u&&e._leave(null,e)};k.supportsTransitionEnd()&&t(this.tip).hasClass(p)?t(this.tip).one(k.TRANSITION_END,h).emulateTransitionEnd(s._TRANSITION_DURATION):h()}},T.hide=function(e){var n=this,i=this.getTipElement(),r=t.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(r),r.isDefaultPrevented()||(t(i).removeClass(g),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[E]=!1,this._activeTrigger[v]=!1,k.supportsTransitionEnd()&&t(this.tip).hasClass(p)?t(i).one(k.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},T.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},T.isWithContent=function(){return Boolean(this.getTitle())},T.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},T.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},T.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(p+" "+g)},T.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},T.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},T._getAttachment=function(t){return c[t.toUpperCase()]},T._setListeners=function(){var e=this;this.config.trigger.split(" ").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!==b){var i=n===v?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,r=n===v?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(r,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=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},T._fixTitle=function(){var t=typeof 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",""))},T._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?E:v]=!0),t(n.getTipElement()).hasClass(g)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},T._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?E:v]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=u,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===u&&n.hide()},n.config.delay.hide):n.hide())},T._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},T._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),k.typeCheckConfig(e,n,this.constructor.DefaultType),n},T._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},T._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},T._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},T._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(p),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),r="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new s(this,r),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return h}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return l}}]),s}();return t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=s,T._jQueryInterface},T}(e),Pt=function(t){var e="popover",n="bs.popover",o="."+n,s=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},Lt.Default,{placement:"right",trigger:"click",content:"",template:''}),c=r({},Lt.DefaultType,{content:"(string|element|function)"}),h="fade",f="show",u=".popover-header",d=".popover-body",p={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g=function(r){var s,g;function m(){return r.apply(this,arguments)||this}g=r,(s=m).prototype=Object.create(g.prototype),s.prototype.constructor=s,s.__proto__=g;var _=m.prototype;return _.isWithContent=function(){return this.getTitle()||this._getContent()},_.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},_.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},_.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(u),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(h+" "+f)},_._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},_._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},m._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),r="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new m(this,r),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(m,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return c}}]),m}(Lt);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=s,g._jQueryInterface},g}(e),xt=function(t){var e="scrollspy",n="bs.scrollspy",o="."+n,s=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},c={ACTIVATE:"activate"+o,SCROLL:"scroll"+o,LOAD_DATA_API:"load"+o+".data-api"},h="dropdown-item",f="active",u={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",p="position",g=function(){function s(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+u.NAV_LINKS+","+this._config.target+" "+u.LIST_ITEMS+","+this._config.target+" "+u.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(c.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=s.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:p,i="auto"===this._config.method?n:this._config.method,r=i===p?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,o=k.getSelectorFromElement(e);if(o&&(n=t(o)[0]),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[t(n)[i]().top+r,o]}return 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])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(o),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=k.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return k.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._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];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=k,t.Alert=L,t.Button=P,t.Carousel=x,t.Collapse=R,t.Dropdown=Nt,t.Modal=kt,t.Popover=Pt,t.Scrollspy=xt,t.Tab=Rt,t.Tooltip=Lt,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/key4intranet.front/public/assets/js/bootstrap/bootstrap.bundle.min.js.map b/key4intranet.front/public/assets/js/bootstrap/bootstrap.bundle.min.js.map new file mode 100644 index 0000000..c234ff2 --- /dev/null +++ b/key4intranet.front/public/assets/js/bootstrap/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../rollupPluginBabelHelpers","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Util","transition","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","document","getElementById","element","selector","getAttribute","charAt","escapeSelector","substr","replace","find","err","offsetHeight","trigger","end","Boolean","obj","nodeType","componentName","config","configTypes","property","expectedTypes","value","valueType","isElement","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","window","QUnit","fn","emulateTransitionEnd","supportsTransitionEnd","event","special","is","handleObj","handler","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","closeEvent","CLOSE","removeClass","hasClass","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","noConflict","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","FOCUS_BLUR_DATA_API","Carousel","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","nextWhenVisible","hidden","css","prev","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","ACTIVE","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","reflow","_this3","action","slide","TypeError","_dataApiClickHandler","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","DATA_TOGGLE","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","SHOW","dimension","_getDimension","style","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","getOffsetParent","offsetParent","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","isIE10","isIE10$1","appVersion","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getBoundaries","popper","reference","padding","boundariesElement","relativeOffset","boundaries","innerWidth","innerHeight","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","getWindow","defaultView","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","onLoad","modifierOptions","Popper","requestAnimationFrame","update","isDestroyed","isCreated","enableEventListeners","removeChild","Utils","global","PopperUtils","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","boundary","_getPopperConfig","noop","destroy","CLICK","stopPropagation","constructor","_getPlacement","$parentDropdown","offsetConf","toggles","context","dropdownMenu","hideEvent","_dataApiKeydownHandler","items","get","KEYDOWN_DATA_API","KEYUP_DATA_API","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","ELEMENT_NODE","appendChild","display","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","animate","backdrop","doAnimate","createElement","className","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","_this9","STICKY_CONTENT","actualMargin","calculatedMargin","NAVBAR_TOGGLER","margin","scrollDiv","scrollbarWidth","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","_TRANSITION_DURATION","_cleanTipClass","getTitle","CLASS_PREFIX","template","$tip","setElementContent","content","empty","append","text","title","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","subClass","superClass","create","__proto__","_getContent","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","version"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
    \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
    \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
    \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
    \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
    \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
    \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
    \n * It will read the variation of the `placement` property.
    \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
    \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
    \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
    \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
    \n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
    \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
    \n * These can be overriden using the `options` argument of Popper.js.
    \n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
    \n * By default, is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
    \n * By default, is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
    \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
    ' +\n '
    ' +\n '
    ',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
    ' +\n '
    ' +\n '

    ' +\n '
    '\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
      and