From 514fb02af1e41e18a8c041ab9ad19963b11f8c3a Mon Sep 17 00:00:00 2001 From: Thoriq <117810381+thoriqre@users.noreply.github.com> Date: Fri, 12 Jul 2024 08:48:59 +0700 Subject: [PATCH] Upload git --- .editorconfig | 18 + .env.example | 59 + .gitattributes | 11 + .gitignore | 19 + README.md | 66 + app/Charts/MonthlyDBDChart.php | 48 + app/Charts/YearlyDBDChart.php | 43 + app/Console/Kernel.php | 27 + app/Exceptions/Handler.php | 30 + app/Exports/ClusterExport.php | 40 + app/Http/Controllers/Controller.php | 12 + app/Http/Controllers/DashboardController.php | 44 + app/Http/Controllers/DataController.php | 54 + app/Http/Controllers/ExportController.php | 15 + app/Http/Controllers/KMeansController.php | 257 + app/Http/Controllers/KecamatanController.php | 79 + app/Http/Controllers/LoginController.php | 40 + app/Http/Kernel.php | 68 + app/Http/Middleware/Authenticate.php | 17 + app/Http/Middleware/EncryptCookies.php | 17 + .../PreventRequestsDuringMaintenance.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 30 + app/Http/Middleware/TrimStrings.php | 19 + app/Http/Middleware/TrustHosts.php | 20 + app/Http/Middleware/TrustProxies.php | 28 + app/Http/Middleware/ValidateSignature.php | 22 + app/Http/Middleware/VerifyCsrfToken.php | 17 + app/Imports/ImportData.php | 30 + app/Models/DataDBD.php | 25 + app/Models/Kecamatan.php | 18 + app/Models/User.php | 35 + app/Providers/AppServiceProvider.php | 24 + app/Providers/AuthServiceProvider.php | 26 + app/Providers/BroadcastServiceProvider.php | 19 + app/Providers/EventServiceProvider.php | 38 + app/Providers/RouteServiceProvider.php | 40 + artisan | 53 + bootstrap/app.php | 55 + bootstrap/cache/.gitignore | 2 + composer.json | 68 + composer.lock | 8726 +++++++ config/app.php | 191 + config/auth.php | 115 + config/broadcasting.php | 71 + config/cache.php | 111 + config/cors.php | 34 + config/database.php | 151 + config/excel.php | 379 + config/filesystems.php | 76 + config/hashing.php | 54 + config/larapex-charts.php | 32 + config/logging.php | 131 + config/mail.php | 134 + config/queue.php | 109 + config/sanctum.php | 83 + config/services.php | 34 + config/session.php | 214 + config/view.php | 36 + database/.gitignore | 1 + database/factories/UserFactory.php | 44 + .../2014_10_12_000000_create_users_table.php | 31 + ...000_create_password_reset_tokens_table.php | 28 + ..._08_19_000000_create_failed_jobs_table.php | 32 + ...01_create_personal_access_tokens_table.php | 33 + ...24_05_19_093551_create_kecamatan_table.php | 31 + ...024_05_19_093756_create_data_bdb_table.php | 31 + database/seeders/DatabaseSeeder.php | 23 + package.json | 13 + phpunit.xml | 32 + public/.htaccess | 21 + public/css/sb-admin-2.css | 11270 ++++++++ public/css/sb-admin-2.min.css | 2 + public/favicon.ico | 0 public/img/banyuwangi.png | Bin 0 -> 427271 bytes public/img/undraw_posting_photo.svg | 1 + public/img/undraw_profile.svg | 38 + public/img/undraw_profile_1.svg | 38 + public/img/undraw_profile_2.svg | 44 + public/img/undraw_profile_3.svg | 47 + public/img/undraw_rocket.svg | 39 + public/index.php | 55 + public/js/demo/chart-area-demo.js | 118 + public/js/demo/chart-bar-demo.js | 37 + public/js/demo/chart-pie-demo.js | 35 + public/js/demo/datatables-demo.js | 4 + public/js/sb-admin-2.js | 56 + public/js/sb-admin-2.min.js | 7 + public/robots.txt | 2 + public/scss/_buttons.scss | 52 + public/scss/_cards.scss | 36 + public/scss/_charts.scss | 29 + public/scss/_dropdowns.scss | 21 + public/scss/_error.scss | 52 + public/scss/_footer.scss | 14 + public/scss/_global.scss | 60 + public/scss/_login.scss | 50 + public/scss/_mixins.scss | 1 + public/scss/_navs.scss | 3 + public/scss/_utilities.scss | 7 + public/scss/_variables.scss | 81 + public/scss/navs/_global.scss | 42 + public/scss/navs/_sidebar.scss | 477 + public/scss/navs/_topbar.scss | 144 + public/scss/sb-admin-2.scss | 20 + public/scss/utilities/_animation.scss | 37 + public/scss/utilities/_background.scss | 17 + public/scss/utilities/_border.scss | 7 + public/scss/utilities/_display.scss | 4 + public/scss/utilities/_progress.scss | 3 + public/scss/utilities/_rotate.scss | 7 + public/scss/utilities/_text.scss | 54 + .../vendor/bootstrap/js/bootstrap.bundle.js | 7045 +++++ .../bootstrap/js/bootstrap.bundle.js.map | 1 + .../bootstrap/js/bootstrap.bundle.min.js | 7 + .../bootstrap/js/bootstrap.bundle.min.js.map | 1 + public/vendor/bootstrap/js/bootstrap.js | 4432 ++++ public/vendor/bootstrap/js/bootstrap.js.map | 1 + public/vendor/bootstrap/js/bootstrap.min.js | 7 + .../vendor/bootstrap/js/bootstrap.min.js.map | 1 + public/vendor/bootstrap/scss/_alert.scss | 52 + public/vendor/bootstrap/scss/_badge.scss | 54 + public/vendor/bootstrap/scss/_breadcrumb.scss | 42 + .../vendor/bootstrap/scss/_button-group.scss | 163 + public/vendor/bootstrap/scss/_buttons.scss | 142 + public/vendor/bootstrap/scss/_card.scss | 286 + public/vendor/bootstrap/scss/_carousel.scss | 197 + public/vendor/bootstrap/scss/_close.scss | 40 + public/vendor/bootstrap/scss/_code.scss | 48 + .../vendor/bootstrap/scss/_custom-forms.scss | 526 + public/vendor/bootstrap/scss/_dropdown.scss | 192 + public/vendor/bootstrap/scss/_forms.scss | 347 + public/vendor/bootstrap/scss/_functions.scss | 144 + public/vendor/bootstrap/scss/_grid.scss | 73 + public/vendor/bootstrap/scss/_images.scss | 42 + .../vendor/bootstrap/scss/_input-group.scss | 208 + public/vendor/bootstrap/scss/_jumbotron.scss | 17 + public/vendor/bootstrap/scss/_list-group.scss | 154 + public/vendor/bootstrap/scss/_media.scss | 8 + public/vendor/bootstrap/scss/_mixins.scss | 47 + public/vendor/bootstrap/scss/_modal.scss | 240 + public/vendor/bootstrap/scss/_nav.scss | 120 + public/vendor/bootstrap/scss/_navbar.scss | 332 + public/vendor/bootstrap/scss/_pagination.scss | 74 + public/vendor/bootstrap/scss/_popover.scss | 170 + public/vendor/bootstrap/scss/_print.scss | 141 + public/vendor/bootstrap/scss/_progress.scss | 47 + public/vendor/bootstrap/scss/_reboot.scss | 484 + public/vendor/bootstrap/scss/_root.scss | 19 + public/vendor/bootstrap/scss/_spinners.scss | 65 + public/vendor/bootstrap/scss/_tables.scss | 185 + public/vendor/bootstrap/scss/_toasts.scss | 46 + public/vendor/bootstrap/scss/_tooltip.scss | 115 + .../vendor/bootstrap/scss/_transitions.scss | 20 + public/vendor/bootstrap/scss/_type.scss | 125 + public/vendor/bootstrap/scss/_utilities.scss | 18 + public/vendor/bootstrap/scss/_variables.scss | 1146 + .../vendor/bootstrap/scss/bootstrap-grid.scss | 30 + .../bootstrap/scss/bootstrap-reboot.scss | 12 + public/vendor/bootstrap/scss/bootstrap.scss | 44 + .../vendor/bootstrap/scss/mixins/_alert.scss | 13 + .../scss/mixins/_background-variant.scss | 23 + .../vendor/bootstrap/scss/mixins/_badge.scss | 17 + .../bootstrap/scss/mixins/_border-radius.scss | 76 + .../bootstrap/scss/mixins/_box-shadow.scss | 20 + .../bootstrap/scss/mixins/_breakpoints.scss | 123 + .../bootstrap/scss/mixins/_buttons.scss | 110 + .../vendor/bootstrap/scss/mixins/_caret.scss | 62 + .../bootstrap/scss/mixins/_clearfix.scss | 7 + .../bootstrap/scss/mixins/_deprecate.scss | 10 + .../vendor/bootstrap/scss/mixins/_float.scss | 14 + .../vendor/bootstrap/scss/mixins/_forms.scss | 185 + .../bootstrap/scss/mixins/_gradients.scss | 45 + .../scss/mixins/_grid-framework.scss | 80 + .../vendor/bootstrap/scss/mixins/_grid.scss | 69 + .../vendor/bootstrap/scss/mixins/_hover.scss | 37 + .../vendor/bootstrap/scss/mixins/_image.scss | 36 + .../bootstrap/scss/mixins/_list-group.scss | 21 + .../vendor/bootstrap/scss/mixins/_lists.scss | 7 + .../bootstrap/scss/mixins/_nav-divider.scss | 11 + .../bootstrap/scss/mixins/_pagination.scss | 22 + .../bootstrap/scss/mixins/_reset-text.scss | 17 + .../vendor/bootstrap/scss/mixins/_resize.scss | 6 + .../bootstrap/scss/mixins/_screen-reader.scss | 34 + .../vendor/bootstrap/scss/mixins/_size.scss | 7 + .../bootstrap/scss/mixins/_table-row.scss | 39 + .../bootstrap/scss/mixins/_text-emphasis.scss | 17 + .../bootstrap/scss/mixins/_text-hide.scss | 11 + .../bootstrap/scss/mixins/_text-truncate.scss | 8 + .../bootstrap/scss/mixins/_transition.scss | 26 + .../bootstrap/scss/mixins/_visibility.scss | 8 + .../bootstrap/scss/utilities/_align.scss | 8 + .../bootstrap/scss/utilities/_background.scss | 19 + .../bootstrap/scss/utilities/_borders.scss | 75 + .../bootstrap/scss/utilities/_clearfix.scss | 3 + .../bootstrap/scss/utilities/_display.scss | 26 + .../bootstrap/scss/utilities/_embed.scss | 39 + .../bootstrap/scss/utilities/_flex.scss | 51 + .../bootstrap/scss/utilities/_float.scss | 11 + .../scss/utilities/_interactions.scss | 5 + .../bootstrap/scss/utilities/_overflow.scss | 5 + .../bootstrap/scss/utilities/_position.scss | 32 + .../scss/utilities/_screenreaders.scss | 11 + .../bootstrap/scss/utilities/_shadows.scss | 6 + .../bootstrap/scss/utilities/_sizing.scss | 20 + .../bootstrap/scss/utilities/_spacing.scss | 73 + .../scss/utilities/_stretched-link.scss | 19 + .../bootstrap/scss/utilities/_text.scss | 72 + .../bootstrap/scss/utilities/_visibility.scss | 13 + public/vendor/bootstrap/scss/vendor/_rfs.scss | 204 + public/vendor/chart.js/Chart.bundle.js | 20771 +++++++++++++++ public/vendor/chart.js/Chart.bundle.min.js | 7 + public/vendor/chart.js/Chart.js | 16167 ++++++++++++ public/vendor/chart.js/Chart.min.js | 2 + .../datatables/dataTables.bootstrap4.css | 210 + .../datatables/dataTables.bootstrap4.js | 184 + .../datatables/dataTables.bootstrap4.min.css | 1 + .../datatables/dataTables.bootstrap4.min.js | 8 + public/vendor/datatables/jquery.dataTables.js | 15387 +++++++++++ .../datatables/jquery.dataTables.min.js | 168 + public/vendor/fontawesome-free/LICENSE.txt | 34 + public/vendor/fontawesome-free/attribution.js | 3 + public/vendor/fontawesome-free/css/all.css | 4619 ++++ .../vendor/fontawesome-free/css/all.min.css | 5 + public/vendor/fontawesome-free/css/brands.css | 15 + .../fontawesome-free/css/brands.min.css | 5 + .../fontawesome-free/css/fontawesome.css | 4585 ++++ .../fontawesome-free/css/fontawesome.min.css | 5 + .../vendor/fontawesome-free/css/regular.css | 15 + .../fontawesome-free/css/regular.min.css | 5 + public/vendor/fontawesome-free/css/solid.css | 16 + .../vendor/fontawesome-free/css/solid.min.css | 5 + .../fontawesome-free/css/svg-with-js.css | 371 + .../fontawesome-free/css/svg-with-js.min.css | 5 + .../vendor/fontawesome-free/css/v4-shims.css | 2172 ++ .../fontawesome-free/css/v4-shims.min.css | 5 + public/vendor/fontawesome-free/js/all.js | 4467 ++++ public/vendor/fontawesome-free/js/all.min.js | 5 + public/vendor/fontawesome-free/js/brands.js | 586 + .../vendor/fontawesome-free/js/brands.min.js | 5 + .../fontawesome-free/js/conflict-detection.js | 998 + .../js/conflict-detection.min.js | 5 + .../vendor/fontawesome-free/js/fontawesome.js | 2483 ++ .../fontawesome-free/js/fontawesome.min.js | 5 + public/vendor/fontawesome-free/js/regular.js | 280 + .../vendor/fontawesome-free/js/regular.min.js | 5 + public/vendor/fontawesome-free/js/solid.js | 1130 + .../vendor/fontawesome-free/js/solid.min.js | 5 + public/vendor/fontawesome-free/js/v4-shims.js | 68 + .../fontawesome-free/js/v4-shims.min.js | 5 + .../fontawesome-free/less/_animated.less | 19 + .../less/_bordered-pulled.less | 16 + .../vendor/fontawesome-free/less/_core.less | 12 + .../fontawesome-free/less/_fixed-width.less | 6 + .../vendor/fontawesome-free/less/_icons.less | 1462 ++ .../vendor/fontawesome-free/less/_larger.less | 27 + .../vendor/fontawesome-free/less/_list.less | 18 + .../vendor/fontawesome-free/less/_mixins.less | 56 + .../less/_rotated-flipped.less | 24 + .../fontawesome-free/less/_screen-reader.less | 5 + .../vendor/fontawesome-free/less/_shims.less | 2066 ++ .../fontawesome-free/less/_stacked.less | 22 + .../fontawesome-free/less/_variables.less | 1474 ++ .../vendor/fontawesome-free/less/brands.less | 23 + .../fontawesome-free/less/fontawesome.less | 16 + .../vendor/fontawesome-free/less/regular.less | 23 + .../vendor/fontawesome-free/less/solid.less | 24 + .../fontawesome-free/less/v4-shims.less | 6 + .../fontawesome-free/metadata/categories.yml | 2572 ++ .../fontawesome-free/metadata/icons.yml | 21783 ++++++++++++++++ .../fontawesome-free/metadata/shims.yml | 298 + .../fontawesome-free/metadata/sponsors.yml | 744 + public/vendor/fontawesome-free/package.json | 58 + .../fontawesome-free/scss/_animated.scss | 20 + .../scss/_bordered-pulled.scss | 20 + .../vendor/fontawesome-free/scss/_core.scss | 21 + .../fontawesome-free/scss/_fixed-width.scss | 6 + .../vendor/fontawesome-free/scss/_icons.scss | 1462 ++ .../vendor/fontawesome-free/scss/_larger.scss | 23 + .../vendor/fontawesome-free/scss/_list.scss | 18 + .../vendor/fontawesome-free/scss/_mixins.scss | 56 + .../scss/_rotated-flipped.scss | 24 + .../fontawesome-free/scss/_screen-reader.scss | 5 + .../vendor/fontawesome-free/scss/_shims.scss | 2066 ++ .../fontawesome-free/scss/_stacked.scss | 31 + .../fontawesome-free/scss/_variables.scss | 1479 ++ .../vendor/fontawesome-free/scss/brands.scss | 23 + .../fontawesome-free/scss/fontawesome.scss | 16 + .../vendor/fontawesome-free/scss/regular.scss | 23 + .../vendor/fontawesome-free/scss/solid.scss | 24 + .../fontawesome-free/scss/v4-shims.scss | 6 + .../fontawesome-free/sprites/brands.svg | 1381 + .../fontawesome-free/sprites/regular.svg | 463 + .../vendor/fontawesome-free/sprites/solid.svg | 3013 +++ .../fontawesome-free/svgs/brands/500px.svg | 1 + .../svgs/brands/accessible-icon.svg | 1 + .../fontawesome-free/svgs/brands/accusoft.svg | 1 + .../svgs/brands/acquisitions-incorporated.svg | 1 + .../fontawesome-free/svgs/brands/adn.svg | 1 + .../fontawesome-free/svgs/brands/adversal.svg | 1 + .../svgs/brands/affiliatetheme.svg | 1 + .../fontawesome-free/svgs/brands/airbnb.svg | 1 + .../fontawesome-free/svgs/brands/algolia.svg | 1 + .../fontawesome-free/svgs/brands/alipay.svg | 1 + .../svgs/brands/amazon-pay.svg | 1 + .../fontawesome-free/svgs/brands/amazon.svg | 1 + .../fontawesome-free/svgs/brands/amilia.svg | 1 + .../fontawesome-free/svgs/brands/android.svg | 1 + .../svgs/brands/angellist.svg | 1 + .../svgs/brands/angrycreative.svg | 1 + .../fontawesome-free/svgs/brands/angular.svg | 1 + .../svgs/brands/app-store-ios.svg | 1 + .../svgs/brands/app-store.svg | 1 + .../fontawesome-free/svgs/brands/apper.svg | 1 + .../svgs/brands/apple-pay.svg | 1 + .../fontawesome-free/svgs/brands/apple.svg | 1 + .../svgs/brands/artstation.svg | 1 + .../svgs/brands/asymmetrik.svg | 1 + .../svgs/brands/atlassian.svg | 1 + .../fontawesome-free/svgs/brands/audible.svg | 1 + .../svgs/brands/autoprefixer.svg | 1 + .../fontawesome-free/svgs/brands/avianex.svg | 1 + .../fontawesome-free/svgs/brands/aviato.svg | 1 + .../fontawesome-free/svgs/brands/aws.svg | 1 + .../fontawesome-free/svgs/brands/bandcamp.svg | 1 + .../svgs/brands/battle-net.svg | 1 + .../svgs/brands/behance-square.svg | 1 + .../fontawesome-free/svgs/brands/behance.svg | 1 + .../svgs/brands/bimobject.svg | 1 + .../svgs/brands/bitbucket.svg | 1 + .../fontawesome-free/svgs/brands/bitcoin.svg | 1 + .../fontawesome-free/svgs/brands/bity.svg | 1 + .../svgs/brands/black-tie.svg | 1 + .../svgs/brands/blackberry.svg | 1 + .../svgs/brands/blogger-b.svg | 1 + .../fontawesome-free/svgs/brands/blogger.svg | 1 + .../svgs/brands/bluetooth-b.svg | 1 + .../svgs/brands/bluetooth.svg | 1 + .../svgs/brands/bootstrap.svg | 1 + .../fontawesome-free/svgs/brands/btc.svg | 1 + .../fontawesome-free/svgs/brands/buffer.svg | 1 + .../svgs/brands/buromobelexperte.svg | 1 + .../svgs/brands/buy-n-large.svg | 1 + .../svgs/brands/buysellads.svg | 1 + .../svgs/brands/canadian-maple-leaf.svg | 1 + .../svgs/brands/cc-amazon-pay.svg | 1 + .../fontawesome-free/svgs/brands/cc-amex.svg | 1 + .../svgs/brands/cc-apple-pay.svg | 1 + .../svgs/brands/cc-diners-club.svg | 1 + .../svgs/brands/cc-discover.svg | 1 + .../fontawesome-free/svgs/brands/cc-jcb.svg | 1 + .../svgs/brands/cc-mastercard.svg | 1 + .../svgs/brands/cc-paypal.svg | 1 + .../svgs/brands/cc-stripe.svg | 1 + .../fontawesome-free/svgs/brands/cc-visa.svg | 1 + .../svgs/brands/centercode.svg | 1 + .../fontawesome-free/svgs/brands/centos.svg | 1 + .../fontawesome-free/svgs/brands/chrome.svg | 1 + .../svgs/brands/chromecast.svg | 1 + .../svgs/brands/cloudflare.svg | 1 + .../svgs/brands/cloudscale.svg | 1 + .../svgs/brands/cloudsmith.svg | 1 + .../svgs/brands/cloudversify.svg | 1 + .../fontawesome-free/svgs/brands/codepen.svg | 1 + .../fontawesome-free/svgs/brands/codiepie.svg | 1 + .../svgs/brands/confluence.svg | 1 + .../svgs/brands/connectdevelop.svg | 1 + .../fontawesome-free/svgs/brands/contao.svg | 1 + .../svgs/brands/cotton-bureau.svg | 1 + .../fontawesome-free/svgs/brands/cpanel.svg | 1 + .../svgs/brands/creative-commons-by.svg | 1 + .../svgs/brands/creative-commons-nc-eu.svg | 1 + .../svgs/brands/creative-commons-nc-jp.svg | 1 + .../svgs/brands/creative-commons-nc.svg | 1 + .../svgs/brands/creative-commons-nd.svg | 1 + .../svgs/brands/creative-commons-pd-alt.svg | 1 + .../svgs/brands/creative-commons-pd.svg | 1 + .../svgs/brands/creative-commons-remix.svg | 1 + .../svgs/brands/creative-commons-sa.svg | 1 + .../brands/creative-commons-sampling-plus.svg | 1 + .../svgs/brands/creative-commons-sampling.svg | 1 + .../svgs/brands/creative-commons-share.svg | 1 + .../svgs/brands/creative-commons-zero.svg | 1 + .../svgs/brands/creative-commons.svg | 1 + .../svgs/brands/critical-role.svg | 1 + .../fontawesome-free/svgs/brands/css3-alt.svg | 1 + .../fontawesome-free/svgs/brands/css3.svg | 1 + .../svgs/brands/cuttlefish.svg | 1 + .../svgs/brands/d-and-d-beyond.svg | 1 + .../fontawesome-free/svgs/brands/d-and-d.svg | 1 + .../svgs/brands/dailymotion.svg | 1 + .../fontawesome-free/svgs/brands/dashcube.svg | 1 + .../fontawesome-free/svgs/brands/deezer.svg | 1 + .../svgs/brands/delicious.svg | 1 + .../svgs/brands/deploydog.svg | 1 + .../fontawesome-free/svgs/brands/deskpro.svg | 1 + .../fontawesome-free/svgs/brands/dev.svg | 1 + .../svgs/brands/deviantart.svg | 1 + .../fontawesome-free/svgs/brands/dhl.svg | 1 + .../fontawesome-free/svgs/brands/diaspora.svg | 1 + .../fontawesome-free/svgs/brands/digg.svg | 1 + .../svgs/brands/digital-ocean.svg | 1 + .../fontawesome-free/svgs/brands/discord.svg | 1 + .../svgs/brands/discourse.svg | 1 + .../fontawesome-free/svgs/brands/dochub.svg | 1 + .../fontawesome-free/svgs/brands/docker.svg | 1 + .../svgs/brands/draft2digital.svg | 1 + .../svgs/brands/dribbble-square.svg | 1 + .../fontawesome-free/svgs/brands/dribbble.svg | 1 + .../fontawesome-free/svgs/brands/dropbox.svg | 1 + .../fontawesome-free/svgs/brands/drupal.svg | 1 + .../fontawesome-free/svgs/brands/dyalog.svg | 1 + .../svgs/brands/earlybirds.svg | 1 + .../fontawesome-free/svgs/brands/ebay.svg | 1 + .../svgs/brands/edge-legacy.svg | 1 + .../fontawesome-free/svgs/brands/edge.svg | 1 + .../svgs/brands/elementor.svg | 1 + .../fontawesome-free/svgs/brands/ello.svg | 1 + .../fontawesome-free/svgs/brands/ember.svg | 1 + .../fontawesome-free/svgs/brands/empire.svg | 1 + .../fontawesome-free/svgs/brands/envira.svg | 1 + .../fontawesome-free/svgs/brands/erlang.svg | 1 + .../fontawesome-free/svgs/brands/ethereum.svg | 1 + .../fontawesome-free/svgs/brands/etsy.svg | 1 + .../fontawesome-free/svgs/brands/evernote.svg | 1 + .../svgs/brands/expeditedssl.svg | 1 + .../svgs/brands/facebook-f.svg | 1 + .../svgs/brands/facebook-messenger.svg | 1 + .../svgs/brands/facebook-square.svg | 1 + .../fontawesome-free/svgs/brands/facebook.svg | 1 + .../svgs/brands/fantasy-flight-games.svg | 1 + .../fontawesome-free/svgs/brands/fedex.svg | 1 + .../fontawesome-free/svgs/brands/fedora.svg | 1 + .../fontawesome-free/svgs/brands/figma.svg | 1 + .../svgs/brands/firefox-browser.svg | 1 + .../fontawesome-free/svgs/brands/firefox.svg | 1 + .../svgs/brands/first-order-alt.svg | 1 + .../svgs/brands/first-order.svg | 1 + .../svgs/brands/firstdraft.svg | 1 + .../fontawesome-free/svgs/brands/flickr.svg | 1 + .../svgs/brands/flipboard.svg | 1 + .../fontawesome-free/svgs/brands/fly.svg | 1 + .../svgs/brands/font-awesome-alt.svg | 1 + .../svgs/brands/font-awesome-flag.svg | 1 + .../svgs/brands/font-awesome-logo-full.svg | 1 + .../svgs/brands/font-awesome.svg | 1 + .../svgs/brands/fonticons-fi.svg | 1 + .../svgs/brands/fonticons.svg | 1 + .../svgs/brands/fort-awesome-alt.svg | 1 + .../svgs/brands/fort-awesome.svg | 1 + .../fontawesome-free/svgs/brands/forumbee.svg | 1 + .../svgs/brands/foursquare.svg | 1 + .../svgs/brands/free-code-camp.svg | 1 + .../fontawesome-free/svgs/brands/freebsd.svg | 1 + .../fontawesome-free/svgs/brands/fulcrum.svg | 1 + .../svgs/brands/galactic-republic.svg | 1 + .../svgs/brands/galactic-senate.svg | 1 + .../svgs/brands/get-pocket.svg | 1 + .../svgs/brands/gg-circle.svg | 1 + .../fontawesome-free/svgs/brands/gg.svg | 1 + .../fontawesome-free/svgs/brands/git-alt.svg | 1 + .../svgs/brands/git-square.svg | 1 + .../fontawesome-free/svgs/brands/git.svg | 1 + .../svgs/brands/github-alt.svg | 1 + .../svgs/brands/github-square.svg | 1 + .../fontawesome-free/svgs/brands/github.svg | 1 + .../svgs/brands/gitkraken.svg | 1 + .../fontawesome-free/svgs/brands/gitlab.svg | 1 + .../fontawesome-free/svgs/brands/gitter.svg | 1 + .../fontawesome-free/svgs/brands/glide-g.svg | 1 + .../fontawesome-free/svgs/brands/glide.svg | 1 + .../fontawesome-free/svgs/brands/gofore.svg | 1 + .../svgs/brands/goodreads-g.svg | 1 + .../svgs/brands/goodreads.svg | 1 + .../svgs/brands/google-drive.svg | 1 + .../svgs/brands/google-pay.svg | 1 + .../svgs/brands/google-play.svg | 1 + .../svgs/brands/google-plus-g.svg | 1 + .../svgs/brands/google-plus-square.svg | 1 + .../svgs/brands/google-plus.svg | 1 + .../svgs/brands/google-wallet.svg | 1 + .../fontawesome-free/svgs/brands/google.svg | 1 + .../fontawesome-free/svgs/brands/gratipay.svg | 1 + .../fontawesome-free/svgs/brands/grav.svg | 1 + .../fontawesome-free/svgs/brands/gripfire.svg | 1 + .../fontawesome-free/svgs/brands/grunt.svg | 1 + .../fontawesome-free/svgs/brands/guilded.svg | 1 + .../fontawesome-free/svgs/brands/gulp.svg | 1 + .../svgs/brands/hacker-news-square.svg | 1 + .../svgs/brands/hacker-news.svg | 1 + .../svgs/brands/hackerrank.svg | 1 + .../fontawesome-free/svgs/brands/hips.svg | 1 + .../svgs/brands/hire-a-helper.svg | 1 + .../fontawesome-free/svgs/brands/hive.svg | 1 + .../fontawesome-free/svgs/brands/hooli.svg | 1 + .../fontawesome-free/svgs/brands/hornbill.svg | 1 + .../fontawesome-free/svgs/brands/hotjar.svg | 1 + .../fontawesome-free/svgs/brands/houzz.svg | 1 + .../fontawesome-free/svgs/brands/html5.svg | 1 + .../fontawesome-free/svgs/brands/hubspot.svg | 1 + .../fontawesome-free/svgs/brands/ideal.svg | 1 + .../fontawesome-free/svgs/brands/imdb.svg | 1 + .../fontawesome-free/svgs/brands/innosoft.svg | 1 + .../svgs/brands/instagram-square.svg | 1 + .../svgs/brands/instagram.svg | 1 + .../fontawesome-free/svgs/brands/instalod.svg | 1 + .../fontawesome-free/svgs/brands/intercom.svg | 1 + .../svgs/brands/internet-explorer.svg | 1 + .../fontawesome-free/svgs/brands/invision.svg | 1 + .../fontawesome-free/svgs/brands/ioxhost.svg | 1 + .../fontawesome-free/svgs/brands/itch-io.svg | 1 + .../svgs/brands/itunes-note.svg | 1 + .../fontawesome-free/svgs/brands/itunes.svg | 1 + .../fontawesome-free/svgs/brands/java.svg | 1 + .../svgs/brands/jedi-order.svg | 1 + .../fontawesome-free/svgs/brands/jenkins.svg | 1 + .../fontawesome-free/svgs/brands/jira.svg | 1 + .../fontawesome-free/svgs/brands/joget.svg | 1 + .../fontawesome-free/svgs/brands/joomla.svg | 1 + .../svgs/brands/js-square.svg | 1 + .../fontawesome-free/svgs/brands/js.svg | 1 + .../fontawesome-free/svgs/brands/jsfiddle.svg | 1 + .../fontawesome-free/svgs/brands/kaggle.svg | 1 + .../fontawesome-free/svgs/brands/keybase.svg | 1 + .../fontawesome-free/svgs/brands/keycdn.svg | 1 + .../svgs/brands/kickstarter-k.svg | 1 + .../svgs/brands/kickstarter.svg | 1 + .../fontawesome-free/svgs/brands/korvue.svg | 1 + .../fontawesome-free/svgs/brands/laravel.svg | 1 + .../svgs/brands/lastfm-square.svg | 1 + .../fontawesome-free/svgs/brands/lastfm.svg | 1 + .../fontawesome-free/svgs/brands/leanpub.svg | 1 + .../fontawesome-free/svgs/brands/less.svg | 1 + .../fontawesome-free/svgs/brands/line.svg | 1 + .../svgs/brands/linkedin-in.svg | 1 + .../fontawesome-free/svgs/brands/linkedin.svg | 1 + .../fontawesome-free/svgs/brands/linode.svg | 1 + .../fontawesome-free/svgs/brands/linux.svg | 1 + .../fontawesome-free/svgs/brands/lyft.svg | 1 + .../fontawesome-free/svgs/brands/magento.svg | 1 + .../svgs/brands/mailchimp.svg | 1 + .../svgs/brands/mandalorian.svg | 1 + .../fontawesome-free/svgs/brands/markdown.svg | 1 + .../fontawesome-free/svgs/brands/mastodon.svg | 1 + .../fontawesome-free/svgs/brands/maxcdn.svg | 1 + .../fontawesome-free/svgs/brands/mdb.svg | 1 + .../fontawesome-free/svgs/brands/medapps.svg | 1 + .../fontawesome-free/svgs/brands/medium-m.svg | 1 + .../fontawesome-free/svgs/brands/medium.svg | 1 + .../fontawesome-free/svgs/brands/medrt.svg | 1 + .../fontawesome-free/svgs/brands/meetup.svg | 1 + .../fontawesome-free/svgs/brands/megaport.svg | 1 + .../fontawesome-free/svgs/brands/mendeley.svg | 1 + .../svgs/brands/microblog.svg | 1 + .../svgs/brands/microsoft.svg | 1 + .../fontawesome-free/svgs/brands/mix.svg | 1 + .../fontawesome-free/svgs/brands/mixcloud.svg | 1 + .../fontawesome-free/svgs/brands/mixer.svg | 1 + .../fontawesome-free/svgs/brands/mizuni.svg | 1 + .../fontawesome-free/svgs/brands/modx.svg | 1 + .../fontawesome-free/svgs/brands/monero.svg | 1 + .../fontawesome-free/svgs/brands/napster.svg | 1 + .../fontawesome-free/svgs/brands/neos.svg | 1 + .../fontawesome-free/svgs/brands/nimblr.svg | 1 + .../fontawesome-free/svgs/brands/node-js.svg | 1 + .../fontawesome-free/svgs/brands/node.svg | 1 + .../fontawesome-free/svgs/brands/npm.svg | 1 + .../fontawesome-free/svgs/brands/ns8.svg | 1 + .../svgs/brands/nutritionix.svg | 1 + .../svgs/brands/octopus-deploy.svg | 1 + .../svgs/brands/odnoklassniki-square.svg | 1 + .../svgs/brands/odnoklassniki.svg | 1 + .../svgs/brands/old-republic.svg | 1 + .../fontawesome-free/svgs/brands/opencart.svg | 1 + .../fontawesome-free/svgs/brands/openid.svg | 1 + .../fontawesome-free/svgs/brands/opera.svg | 1 + .../svgs/brands/optin-monster.svg | 1 + .../fontawesome-free/svgs/brands/orcid.svg | 1 + .../fontawesome-free/svgs/brands/osi.svg | 1 + .../fontawesome-free/svgs/brands/page4.svg | 1 + .../svgs/brands/pagelines.svg | 1 + .../fontawesome-free/svgs/brands/palfed.svg | 1 + .../fontawesome-free/svgs/brands/patreon.svg | 1 + .../fontawesome-free/svgs/brands/paypal.svg | 1 + .../svgs/brands/penny-arcade.svg | 1 + .../fontawesome-free/svgs/brands/perbyte.svg | 1 + .../svgs/brands/periscope.svg | 1 + .../svgs/brands/phabricator.svg | 1 + .../svgs/brands/phoenix-framework.svg | 1 + .../svgs/brands/phoenix-squadron.svg | 1 + .../fontawesome-free/svgs/brands/php.svg | 1 + .../svgs/brands/pied-piper-alt.svg | 1 + .../svgs/brands/pied-piper-hat.svg | 1 + .../svgs/brands/pied-piper-pp.svg | 1 + .../svgs/brands/pied-piper-square.svg | 1 + .../svgs/brands/pied-piper.svg | 1 + .../svgs/brands/pinterest-p.svg | 1 + .../svgs/brands/pinterest-square.svg | 1 + .../svgs/brands/pinterest.svg | 1 + .../svgs/brands/playstation.svg | 1 + .../svgs/brands/product-hunt.svg | 1 + .../fontawesome-free/svgs/brands/pushed.svg | 1 + .../fontawesome-free/svgs/brands/python.svg | 1 + .../fontawesome-free/svgs/brands/qq.svg | 1 + .../svgs/brands/quinscape.svg | 1 + .../fontawesome-free/svgs/brands/quora.svg | 1 + .../svgs/brands/r-project.svg | 1 + .../svgs/brands/raspberry-pi.svg | 1 + .../fontawesome-free/svgs/brands/ravelry.svg | 1 + .../fontawesome-free/svgs/brands/react.svg | 1 + .../svgs/brands/reacteurope.svg | 1 + .../fontawesome-free/svgs/brands/readme.svg | 1 + .../fontawesome-free/svgs/brands/rebel.svg | 1 + .../svgs/brands/red-river.svg | 1 + .../svgs/brands/reddit-alien.svg | 1 + .../svgs/brands/reddit-square.svg | 1 + .../fontawesome-free/svgs/brands/reddit.svg | 1 + .../fontawesome-free/svgs/brands/redhat.svg | 1 + .../fontawesome-free/svgs/brands/renren.svg | 1 + .../fontawesome-free/svgs/brands/replyd.svg | 1 + .../svgs/brands/researchgate.svg | 1 + .../svgs/brands/resolving.svg | 1 + .../fontawesome-free/svgs/brands/rev.svg | 1 + .../svgs/brands/rocketchat.svg | 1 + .../fontawesome-free/svgs/brands/rockrms.svg | 1 + .../fontawesome-free/svgs/brands/rust.svg | 1 + .../fontawesome-free/svgs/brands/safari.svg | 1 + .../svgs/brands/salesforce.svg | 1 + .../fontawesome-free/svgs/brands/sass.svg | 1 + .../fontawesome-free/svgs/brands/schlix.svg | 1 + .../fontawesome-free/svgs/brands/scribd.svg | 1 + .../svgs/brands/searchengin.svg | 1 + .../fontawesome-free/svgs/brands/sellcast.svg | 1 + .../fontawesome-free/svgs/brands/sellsy.svg | 1 + .../svgs/brands/servicestack.svg | 1 + .../svgs/brands/shirtsinbulk.svg | 1 + .../fontawesome-free/svgs/brands/shopify.svg | 1 + .../fontawesome-free/svgs/brands/shopware.svg | 1 + .../svgs/brands/simplybuilt.svg | 1 + .../fontawesome-free/svgs/brands/sistrix.svg | 1 + .../fontawesome-free/svgs/brands/sith.svg | 1 + .../fontawesome-free/svgs/brands/sketch.svg | 1 + .../fontawesome-free/svgs/brands/skyatlas.svg | 1 + .../fontawesome-free/svgs/brands/skype.svg | 1 + .../svgs/brands/slack-hash.svg | 1 + .../fontawesome-free/svgs/brands/slack.svg | 1 + .../svgs/brands/slideshare.svg | 1 + .../svgs/brands/snapchat-ghost.svg | 1 + .../svgs/brands/snapchat-square.svg | 1 + .../fontawesome-free/svgs/brands/snapchat.svg | 1 + .../svgs/brands/soundcloud.svg | 1 + .../svgs/brands/sourcetree.svg | 1 + .../fontawesome-free/svgs/brands/speakap.svg | 1 + .../svgs/brands/speaker-deck.svg | 1 + .../fontawesome-free/svgs/brands/spotify.svg | 1 + .../svgs/brands/squarespace.svg | 1 + .../svgs/brands/stack-exchange.svg | 1 + .../svgs/brands/stack-overflow.svg | 1 + .../svgs/brands/stackpath.svg | 1 + .../svgs/brands/staylinked.svg | 1 + .../svgs/brands/steam-square.svg | 1 + .../svgs/brands/steam-symbol.svg | 1 + .../fontawesome-free/svgs/brands/steam.svg | 1 + .../svgs/brands/sticker-mule.svg | 1 + .../fontawesome-free/svgs/brands/strava.svg | 1 + .../fontawesome-free/svgs/brands/stripe-s.svg | 1 + .../fontawesome-free/svgs/brands/stripe.svg | 1 + .../svgs/brands/studiovinari.svg | 1 + .../svgs/brands/stumbleupon-circle.svg | 1 + .../svgs/brands/stumbleupon.svg | 1 + .../svgs/brands/superpowers.svg | 1 + .../fontawesome-free/svgs/brands/supple.svg | 1 + .../fontawesome-free/svgs/brands/suse.svg | 1 + .../fontawesome-free/svgs/brands/swift.svg | 1 + .../fontawesome-free/svgs/brands/symfony.svg | 1 + .../svgs/brands/teamspeak.svg | 1 + .../svgs/brands/telegram-plane.svg | 1 + .../fontawesome-free/svgs/brands/telegram.svg | 1 + .../svgs/brands/tencent-weibo.svg | 1 + .../svgs/brands/the-red-yeti.svg | 1 + .../fontawesome-free/svgs/brands/themeco.svg | 1 + .../svgs/brands/themeisle.svg | 1 + .../svgs/brands/think-peaks.svg | 1 + .../fontawesome-free/svgs/brands/tiktok.svg | 1 + .../svgs/brands/trade-federation.svg | 1 + .../fontawesome-free/svgs/brands/trello.svg | 1 + .../svgs/brands/tripadvisor.svg | 1 + .../svgs/brands/tumblr-square.svg | 1 + .../fontawesome-free/svgs/brands/tumblr.svg | 1 + .../fontawesome-free/svgs/brands/twitch.svg | 1 + .../svgs/brands/twitter-square.svg | 1 + .../fontawesome-free/svgs/brands/twitter.svg | 1 + .../fontawesome-free/svgs/brands/typo3.svg | 1 + .../fontawesome-free/svgs/brands/uber.svg | 1 + .../fontawesome-free/svgs/brands/ubuntu.svg | 1 + .../fontawesome-free/svgs/brands/uikit.svg | 1 + .../fontawesome-free/svgs/brands/umbraco.svg | 1 + .../svgs/brands/uncharted.svg | 1 + .../svgs/brands/uniregistry.svg | 1 + .../fontawesome-free/svgs/brands/unity.svg | 1 + .../fontawesome-free/svgs/brands/unsplash.svg | 1 + .../fontawesome-free/svgs/brands/untappd.svg | 1 + .../fontawesome-free/svgs/brands/ups.svg | 1 + .../fontawesome-free/svgs/brands/usb.svg | 1 + .../fontawesome-free/svgs/brands/usps.svg | 1 + .../fontawesome-free/svgs/brands/ussunnah.svg | 1 + .../fontawesome-free/svgs/brands/vaadin.svg | 1 + .../fontawesome-free/svgs/brands/viacoin.svg | 1 + .../svgs/brands/viadeo-square.svg | 1 + .../fontawesome-free/svgs/brands/viadeo.svg | 1 + .../fontawesome-free/svgs/brands/viber.svg | 1 + .../svgs/brands/vimeo-square.svg | 1 + .../fontawesome-free/svgs/brands/vimeo-v.svg | 1 + .../fontawesome-free/svgs/brands/vimeo.svg | 1 + .../fontawesome-free/svgs/brands/vine.svg | 1 + .../fontawesome-free/svgs/brands/vk.svg | 1 + .../fontawesome-free/svgs/brands/vnv.svg | 1 + .../fontawesome-free/svgs/brands/vuejs.svg | 1 + .../svgs/brands/watchman-monitoring.svg | 1 + .../fontawesome-free/svgs/brands/waze.svg | 1 + .../fontawesome-free/svgs/brands/weebly.svg | 1 + .../fontawesome-free/svgs/brands/weibo.svg | 1 + .../fontawesome-free/svgs/brands/weixin.svg | 1 + .../svgs/brands/whatsapp-square.svg | 1 + .../fontawesome-free/svgs/brands/whatsapp.svg | 1 + .../fontawesome-free/svgs/brands/whmcs.svg | 1 + .../svgs/brands/wikipedia-w.svg | 1 + .../fontawesome-free/svgs/brands/windows.svg | 1 + .../fontawesome-free/svgs/brands/wix.svg | 1 + .../svgs/brands/wizards-of-the-coast.svg | 1 + .../fontawesome-free/svgs/brands/wodu.svg | 1 + .../svgs/brands/wolf-pack-battalion.svg | 1 + .../svgs/brands/wordpress-simple.svg | 1 + .../svgs/brands/wordpress.svg | 1 + .../svgs/brands/wpbeginner.svg | 1 + .../svgs/brands/wpexplorer.svg | 1 + .../fontawesome-free/svgs/brands/wpforms.svg | 1 + .../fontawesome-free/svgs/brands/wpressr.svg | 1 + .../fontawesome-free/svgs/brands/xbox.svg | 1 + .../svgs/brands/xing-square.svg | 1 + .../fontawesome-free/svgs/brands/xing.svg | 1 + .../svgs/brands/y-combinator.svg | 1 + .../fontawesome-free/svgs/brands/yahoo.svg | 1 + .../fontawesome-free/svgs/brands/yammer.svg | 1 + .../svgs/brands/yandex-international.svg | 1 + .../fontawesome-free/svgs/brands/yandex.svg | 1 + .../fontawesome-free/svgs/brands/yarn.svg | 1 + .../fontawesome-free/svgs/brands/yelp.svg | 1 + .../fontawesome-free/svgs/brands/yoast.svg | 1 + .../svgs/brands/youtube-square.svg | 1 + .../fontawesome-free/svgs/brands/youtube.svg | 1 + .../fontawesome-free/svgs/brands/zhihu.svg | 1 + .../svgs/regular/address-book.svg | 1 + .../svgs/regular/address-card.svg | 1 + .../fontawesome-free/svgs/regular/angry.svg | 1 + .../svgs/regular/arrow-alt-circle-down.svg | 1 + .../svgs/regular/arrow-alt-circle-left.svg | 1 + .../svgs/regular/arrow-alt-circle-right.svg | 1 + .../svgs/regular/arrow-alt-circle-up.svg | 1 + .../svgs/regular/bell-slash.svg | 1 + .../fontawesome-free/svgs/regular/bell.svg | 1 + .../svgs/regular/bookmark.svg | 1 + .../svgs/regular/building.svg | 1 + .../svgs/regular/calendar-alt.svg | 1 + .../svgs/regular/calendar-check.svg | 1 + .../svgs/regular/calendar-minus.svg | 1 + .../svgs/regular/calendar-plus.svg | 1 + .../svgs/regular/calendar-times.svg | 1 + .../svgs/regular/calendar.svg | 1 + .../svgs/regular/caret-square-down.svg | 1 + .../svgs/regular/caret-square-left.svg | 1 + .../svgs/regular/caret-square-right.svg | 1 + .../svgs/regular/caret-square-up.svg | 1 + .../svgs/regular/chart-bar.svg | 1 + .../svgs/regular/check-circle.svg | 1 + .../svgs/regular/check-square.svg | 1 + .../fontawesome-free/svgs/regular/circle.svg | 1 + .../svgs/regular/clipboard.svg | 1 + .../fontawesome-free/svgs/regular/clock.svg | 1 + .../fontawesome-free/svgs/regular/clone.svg | 1 + .../svgs/regular/closed-captioning.svg | 1 + .../svgs/regular/comment-alt.svg | 1 + .../svgs/regular/comment-dots.svg | 1 + .../fontawesome-free/svgs/regular/comment.svg | 1 + .../svgs/regular/comments.svg | 1 + .../fontawesome-free/svgs/regular/compass.svg | 1 + .../fontawesome-free/svgs/regular/copy.svg | 1 + .../svgs/regular/copyright.svg | 1 + .../svgs/regular/credit-card.svg | 1 + .../fontawesome-free/svgs/regular/dizzy.svg | 1 + .../svgs/regular/dot-circle.svg | 1 + .../fontawesome-free/svgs/regular/edit.svg | 1 + .../svgs/regular/envelope-open.svg | 1 + .../svgs/regular/envelope.svg | 1 + .../svgs/regular/eye-slash.svg | 1 + .../fontawesome-free/svgs/regular/eye.svg | 1 + .../svgs/regular/file-alt.svg | 1 + .../svgs/regular/file-archive.svg | 1 + .../svgs/regular/file-audio.svg | 1 + .../svgs/regular/file-code.svg | 1 + .../svgs/regular/file-excel.svg | 1 + .../svgs/regular/file-image.svg | 1 + .../svgs/regular/file-pdf.svg | 1 + .../svgs/regular/file-powerpoint.svg | 1 + .../svgs/regular/file-video.svg | 1 + .../svgs/regular/file-word.svg | 1 + .../fontawesome-free/svgs/regular/file.svg | 1 + .../fontawesome-free/svgs/regular/flag.svg | 1 + .../fontawesome-free/svgs/regular/flushed.svg | 1 + .../svgs/regular/folder-open.svg | 1 + .../fontawesome-free/svgs/regular/folder.svg | 1 + .../svgs/regular/font-awesome-logo-full.svg | 1 + .../svgs/regular/frown-open.svg | 1 + .../fontawesome-free/svgs/regular/frown.svg | 1 + .../fontawesome-free/svgs/regular/futbol.svg | 1 + .../fontawesome-free/svgs/regular/gem.svg | 1 + .../fontawesome-free/svgs/regular/grimace.svg | 1 + .../svgs/regular/grin-alt.svg | 1 + .../svgs/regular/grin-beam-sweat.svg | 1 + .../svgs/regular/grin-beam.svg | 1 + .../svgs/regular/grin-hearts.svg | 1 + .../svgs/regular/grin-squint-tears.svg | 1 + .../svgs/regular/grin-squint.svg | 1 + .../svgs/regular/grin-stars.svg | 1 + .../svgs/regular/grin-tears.svg | 1 + .../svgs/regular/grin-tongue-squint.svg | 1 + .../svgs/regular/grin-tongue-wink.svg | 1 + .../svgs/regular/grin-tongue.svg | 1 + .../svgs/regular/grin-wink.svg | 1 + .../fontawesome-free/svgs/regular/grin.svg | 1 + .../svgs/regular/hand-lizard.svg | 1 + .../svgs/regular/hand-paper.svg | 1 + .../svgs/regular/hand-peace.svg | 1 + .../svgs/regular/hand-point-down.svg | 1 + .../svgs/regular/hand-point-left.svg | 1 + .../svgs/regular/hand-point-right.svg | 1 + .../svgs/regular/hand-point-up.svg | 1 + .../svgs/regular/hand-pointer.svg | 1 + .../svgs/regular/hand-rock.svg | 1 + .../svgs/regular/hand-scissors.svg | 1 + .../svgs/regular/hand-spock.svg | 1 + .../svgs/regular/handshake.svg | 1 + .../fontawesome-free/svgs/regular/hdd.svg | 1 + .../fontawesome-free/svgs/regular/heart.svg | 1 + .../svgs/regular/hospital.svg | 1 + .../svgs/regular/hourglass.svg | 1 + .../svgs/regular/id-badge.svg | 1 + .../fontawesome-free/svgs/regular/id-card.svg | 1 + .../fontawesome-free/svgs/regular/image.svg | 1 + .../fontawesome-free/svgs/regular/images.svg | 1 + .../svgs/regular/keyboard.svg | 1 + .../svgs/regular/kiss-beam.svg | 1 + .../svgs/regular/kiss-wink-heart.svg | 1 + .../fontawesome-free/svgs/regular/kiss.svg | 1 + .../svgs/regular/laugh-beam.svg | 1 + .../svgs/regular/laugh-squint.svg | 1 + .../svgs/regular/laugh-wink.svg | 1 + .../fontawesome-free/svgs/regular/laugh.svg | 1 + .../fontawesome-free/svgs/regular/lemon.svg | 1 + .../svgs/regular/life-ring.svg | 1 + .../svgs/regular/lightbulb.svg | 1 + .../svgs/regular/list-alt.svg | 1 + .../fontawesome-free/svgs/regular/map.svg | 1 + .../svgs/regular/meh-blank.svg | 1 + .../svgs/regular/meh-rolling-eyes.svg | 1 + .../fontawesome-free/svgs/regular/meh.svg | 1 + .../svgs/regular/minus-square.svg | 1 + .../svgs/regular/money-bill-alt.svg | 1 + .../fontawesome-free/svgs/regular/moon.svg | 1 + .../svgs/regular/newspaper.svg | 1 + .../svgs/regular/object-group.svg | 1 + .../svgs/regular/object-ungroup.svg | 1 + .../svgs/regular/paper-plane.svg | 1 + .../svgs/regular/pause-circle.svg | 1 + .../svgs/regular/play-circle.svg | 1 + .../svgs/regular/plus-square.svg | 1 + .../svgs/regular/question-circle.svg | 1 + .../svgs/regular/registered.svg | 1 + .../fontawesome-free/svgs/regular/sad-cry.svg | 1 + .../svgs/regular/sad-tear.svg | 1 + .../fontawesome-free/svgs/regular/save.svg | 1 + .../svgs/regular/share-square.svg | 1 + .../svgs/regular/smile-beam.svg | 1 + .../svgs/regular/smile-wink.svg | 1 + .../fontawesome-free/svgs/regular/smile.svg | 1 + .../svgs/regular/snowflake.svg | 1 + .../fontawesome-free/svgs/regular/square.svg | 1 + .../svgs/regular/star-half.svg | 1 + .../fontawesome-free/svgs/regular/star.svg | 1 + .../svgs/regular/sticky-note.svg | 1 + .../svgs/regular/stop-circle.svg | 1 + .../fontawesome-free/svgs/regular/sun.svg | 1 + .../svgs/regular/surprise.svg | 1 + .../svgs/regular/thumbs-down.svg | 1 + .../svgs/regular/thumbs-up.svg | 1 + .../svgs/regular/times-circle.svg | 1 + .../fontawesome-free/svgs/regular/tired.svg | 1 + .../svgs/regular/trash-alt.svg | 1 + .../svgs/regular/user-circle.svg | 1 + .../fontawesome-free/svgs/regular/user.svg | 1 + .../svgs/regular/window-close.svg | 1 + .../svgs/regular/window-maximize.svg | 1 + .../svgs/regular/window-minimize.svg | 1 + .../svgs/regular/window-restore.svg | 1 + .../vendor/fontawesome-free/svgs/solid/ad.svg | 1 + .../svgs/solid/address-book.svg | 1 + .../svgs/solid/address-card.svg | 1 + .../fontawesome-free/svgs/solid/adjust.svg | 1 + .../svgs/solid/air-freshener.svg | 1 + .../svgs/solid/align-center.svg | 1 + .../svgs/solid/align-justify.svg | 1 + .../svgs/solid/align-left.svg | 1 + .../svgs/solid/align-right.svg | 1 + .../fontawesome-free/svgs/solid/allergies.svg | 1 + .../fontawesome-free/svgs/solid/ambulance.svg | 1 + .../american-sign-language-interpreting.svg | 1 + .../fontawesome-free/svgs/solid/anchor.svg | 1 + .../svgs/solid/angle-double-down.svg | 1 + .../svgs/solid/angle-double-left.svg | 1 + .../svgs/solid/angle-double-right.svg | 1 + .../svgs/solid/angle-double-up.svg | 1 + .../svgs/solid/angle-down.svg | 1 + .../svgs/solid/angle-left.svg | 1 + .../svgs/solid/angle-right.svg | 1 + .../fontawesome-free/svgs/solid/angle-up.svg | 1 + .../fontawesome-free/svgs/solid/angry.svg | 1 + .../fontawesome-free/svgs/solid/ankh.svg | 1 + .../fontawesome-free/svgs/solid/apple-alt.svg | 1 + .../fontawesome-free/svgs/solid/archive.svg | 1 + .../fontawesome-free/svgs/solid/archway.svg | 1 + .../svgs/solid/arrow-alt-circle-down.svg | 1 + .../svgs/solid/arrow-alt-circle-left.svg | 1 + .../svgs/solid/arrow-alt-circle-right.svg | 1 + .../svgs/solid/arrow-alt-circle-up.svg | 1 + .../svgs/solid/arrow-circle-down.svg | 1 + .../svgs/solid/arrow-circle-left.svg | 1 + .../svgs/solid/arrow-circle-right.svg | 1 + .../svgs/solid/arrow-circle-up.svg | 1 + .../svgs/solid/arrow-down.svg | 1 + .../svgs/solid/arrow-left.svg | 1 + .../svgs/solid/arrow-right.svg | 1 + .../fontawesome-free/svgs/solid/arrow-up.svg | 1 + .../svgs/solid/arrows-alt-h.svg | 1 + .../svgs/solid/arrows-alt-v.svg | 1 + .../svgs/solid/arrows-alt.svg | 1 + .../solid/assistive-listening-systems.svg | 1 + .../fontawesome-free/svgs/solid/asterisk.svg | 1 + .../vendor/fontawesome-free/svgs/solid/at.svg | 1 + .../fontawesome-free/svgs/solid/atlas.svg | 1 + .../fontawesome-free/svgs/solid/atom.svg | 1 + .../svgs/solid/audio-description.svg | 1 + .../fontawesome-free/svgs/solid/award.svg | 1 + .../svgs/solid/baby-carriage.svg | 1 + .../fontawesome-free/svgs/solid/baby.svg | 1 + .../fontawesome-free/svgs/solid/backspace.svg | 1 + .../fontawesome-free/svgs/solid/backward.svg | 1 + .../fontawesome-free/svgs/solid/bacon.svg | 1 + .../fontawesome-free/svgs/solid/bacteria.svg | 1 + .../fontawesome-free/svgs/solid/bacterium.svg | 1 + .../fontawesome-free/svgs/solid/bahai.svg | 1 + .../svgs/solid/balance-scale-left.svg | 1 + .../svgs/solid/balance-scale-right.svg | 1 + .../svgs/solid/balance-scale.svg | 1 + .../fontawesome-free/svgs/solid/ban.svg | 1 + .../fontawesome-free/svgs/solid/band-aid.svg | 1 + .../fontawesome-free/svgs/solid/barcode.svg | 1 + .../fontawesome-free/svgs/solid/bars.svg | 1 + .../svgs/solid/baseball-ball.svg | 1 + .../svgs/solid/basketball-ball.svg | 1 + .../fontawesome-free/svgs/solid/bath.svg | 1 + .../svgs/solid/battery-empty.svg | 1 + .../svgs/solid/battery-full.svg | 1 + .../svgs/solid/battery-half.svg | 1 + .../svgs/solid/battery-quarter.svg | 1 + .../svgs/solid/battery-three-quarters.svg | 1 + .../fontawesome-free/svgs/solid/bed.svg | 1 + .../fontawesome-free/svgs/solid/beer.svg | 1 + .../svgs/solid/bell-slash.svg | 1 + .../fontawesome-free/svgs/solid/bell.svg | 1 + .../svgs/solid/bezier-curve.svg | 1 + .../fontawesome-free/svgs/solid/bible.svg | 1 + .../fontawesome-free/svgs/solid/bicycle.svg | 1 + .../fontawesome-free/svgs/solid/biking.svg | 1 + .../svgs/solid/binoculars.svg | 1 + .../fontawesome-free/svgs/solid/biohazard.svg | 1 + .../svgs/solid/birthday-cake.svg | 1 + .../svgs/solid/blender-phone.svg | 1 + .../fontawesome-free/svgs/solid/blender.svg | 1 + .../fontawesome-free/svgs/solid/blind.svg | 1 + .../fontawesome-free/svgs/solid/blog.svg | 1 + .../fontawesome-free/svgs/solid/bold.svg | 1 + .../fontawesome-free/svgs/solid/bolt.svg | 1 + .../fontawesome-free/svgs/solid/bomb.svg | 1 + .../fontawesome-free/svgs/solid/bone.svg | 1 + .../fontawesome-free/svgs/solid/bong.svg | 1 + .../fontawesome-free/svgs/solid/book-dead.svg | 1 + .../svgs/solid/book-medical.svg | 1 + .../fontawesome-free/svgs/solid/book-open.svg | 1 + .../svgs/solid/book-reader.svg | 1 + .../fontawesome-free/svgs/solid/book.svg | 1 + .../fontawesome-free/svgs/solid/bookmark.svg | 1 + .../svgs/solid/border-all.svg | 1 + .../svgs/solid/border-none.svg | 1 + .../svgs/solid/border-style.svg | 1 + .../svgs/solid/bowling-ball.svg | 1 + .../fontawesome-free/svgs/solid/box-open.svg | 1 + .../svgs/solid/box-tissue.svg | 1 + .../fontawesome-free/svgs/solid/box.svg | 1 + .../fontawesome-free/svgs/solid/boxes.svg | 1 + .../fontawesome-free/svgs/solid/braille.svg | 1 + .../fontawesome-free/svgs/solid/brain.svg | 1 + .../svgs/solid/bread-slice.svg | 1 + .../svgs/solid/briefcase-medical.svg | 1 + .../fontawesome-free/svgs/solid/briefcase.svg | 1 + .../svgs/solid/broadcast-tower.svg | 1 + .../fontawesome-free/svgs/solid/broom.svg | 1 + .../fontawesome-free/svgs/solid/brush.svg | 1 + .../fontawesome-free/svgs/solid/bug.svg | 1 + .../fontawesome-free/svgs/solid/building.svg | 1 + .../fontawesome-free/svgs/solid/bullhorn.svg | 1 + .../fontawesome-free/svgs/solid/bullseye.svg | 1 + .../fontawesome-free/svgs/solid/burn.svg | 1 + .../fontawesome-free/svgs/solid/bus-alt.svg | 1 + .../fontawesome-free/svgs/solid/bus.svg | 1 + .../svgs/solid/business-time.svg | 1 + .../svgs/solid/calculator.svg | 1 + .../svgs/solid/calendar-alt.svg | 1 + .../svgs/solid/calendar-check.svg | 1 + .../svgs/solid/calendar-day.svg | 1 + .../svgs/solid/calendar-minus.svg | 1 + .../svgs/solid/calendar-plus.svg | 1 + .../svgs/solid/calendar-times.svg | 1 + .../svgs/solid/calendar-week.svg | 1 + .../fontawesome-free/svgs/solid/calendar.svg | 1 + .../svgs/solid/camera-retro.svg | 1 + .../fontawesome-free/svgs/solid/camera.svg | 1 + .../svgs/solid/campground.svg | 1 + .../svgs/solid/candy-cane.svg | 1 + .../fontawesome-free/svgs/solid/cannabis.svg | 1 + .../fontawesome-free/svgs/solid/capsules.svg | 1 + .../fontawesome-free/svgs/solid/car-alt.svg | 1 + .../svgs/solid/car-battery.svg | 1 + .../fontawesome-free/svgs/solid/car-crash.svg | 1 + .../fontawesome-free/svgs/solid/car-side.svg | 1 + .../fontawesome-free/svgs/solid/car.svg | 1 + .../fontawesome-free/svgs/solid/caravan.svg | 1 + .../svgs/solid/caret-down.svg | 1 + .../svgs/solid/caret-left.svg | 1 + .../svgs/solid/caret-right.svg | 1 + .../svgs/solid/caret-square-down.svg | 1 + .../svgs/solid/caret-square-left.svg | 1 + .../svgs/solid/caret-square-right.svg | 1 + .../svgs/solid/caret-square-up.svg | 1 + .../fontawesome-free/svgs/solid/caret-up.svg | 1 + .../fontawesome-free/svgs/solid/carrot.svg | 1 + .../svgs/solid/cart-arrow-down.svg | 1 + .../fontawesome-free/svgs/solid/cart-plus.svg | 1 + .../svgs/solid/cash-register.svg | 1 + .../fontawesome-free/svgs/solid/cat.svg | 1 + .../svgs/solid/certificate.svg | 1 + .../fontawesome-free/svgs/solid/chair.svg | 1 + .../svgs/solid/chalkboard-teacher.svg | 1 + .../svgs/solid/chalkboard.svg | 1 + .../svgs/solid/charging-station.svg | 1 + .../svgs/solid/chart-area.svg | 1 + .../fontawesome-free/svgs/solid/chart-bar.svg | 1 + .../svgs/solid/chart-line.svg | 1 + .../fontawesome-free/svgs/solid/chart-pie.svg | 1 + .../svgs/solid/check-circle.svg | 1 + .../svgs/solid/check-double.svg | 1 + .../svgs/solid/check-square.svg | 1 + .../fontawesome-free/svgs/solid/check.svg | 1 + .../fontawesome-free/svgs/solid/cheese.svg | 1 + .../svgs/solid/chess-bishop.svg | 1 + .../svgs/solid/chess-board.svg | 1 + .../svgs/solid/chess-king.svg | 1 + .../svgs/solid/chess-knight.svg | 1 + .../svgs/solid/chess-pawn.svg | 1 + .../svgs/solid/chess-queen.svg | 1 + .../svgs/solid/chess-rook.svg | 1 + .../fontawesome-free/svgs/solid/chess.svg | 1 + .../svgs/solid/chevron-circle-down.svg | 1 + .../svgs/solid/chevron-circle-left.svg | 1 + .../svgs/solid/chevron-circle-right.svg | 1 + .../svgs/solid/chevron-circle-up.svg | 1 + .../svgs/solid/chevron-down.svg | 1 + .../svgs/solid/chevron-left.svg | 1 + .../svgs/solid/chevron-right.svg | 1 + .../svgs/solid/chevron-up.svg | 1 + .../fontawesome-free/svgs/solid/child.svg | 1 + .../fontawesome-free/svgs/solid/church.svg | 1 + .../svgs/solid/circle-notch.svg | 1 + .../fontawesome-free/svgs/solid/circle.svg | 1 + .../fontawesome-free/svgs/solid/city.svg | 1 + .../svgs/solid/clinic-medical.svg | 1 + .../svgs/solid/clipboard-check.svg | 1 + .../svgs/solid/clipboard-list.svg | 1 + .../fontawesome-free/svgs/solid/clipboard.svg | 1 + .../fontawesome-free/svgs/solid/clock.svg | 1 + .../fontawesome-free/svgs/solid/clone.svg | 1 + .../svgs/solid/closed-captioning.svg | 1 + .../svgs/solid/cloud-download-alt.svg | 1 + .../svgs/solid/cloud-meatball.svg | 1 + .../svgs/solid/cloud-moon-rain.svg | 1 + .../svgs/solid/cloud-moon.svg | 1 + .../svgs/solid/cloud-rain.svg | 1 + .../svgs/solid/cloud-showers-heavy.svg | 1 + .../svgs/solid/cloud-sun-rain.svg | 1 + .../fontawesome-free/svgs/solid/cloud-sun.svg | 1 + .../svgs/solid/cloud-upload-alt.svg | 1 + .../fontawesome-free/svgs/solid/cloud.svg | 1 + .../fontawesome-free/svgs/solid/cocktail.svg | 1 + .../svgs/solid/code-branch.svg | 1 + .../fontawesome-free/svgs/solid/code.svg | 1 + .../fontawesome-free/svgs/solid/coffee.svg | 1 + .../fontawesome-free/svgs/solid/cog.svg | 1 + .../fontawesome-free/svgs/solid/cogs.svg | 1 + .../fontawesome-free/svgs/solid/coins.svg | 1 + .../fontawesome-free/svgs/solid/columns.svg | 1 + .../svgs/solid/comment-alt.svg | 1 + .../svgs/solid/comment-dollar.svg | 1 + .../svgs/solid/comment-dots.svg | 1 + .../svgs/solid/comment-medical.svg | 1 + .../svgs/solid/comment-slash.svg | 1 + .../fontawesome-free/svgs/solid/comment.svg | 1 + .../svgs/solid/comments-dollar.svg | 1 + .../fontawesome-free/svgs/solid/comments.svg | 1 + .../svgs/solid/compact-disc.svg | 1 + .../fontawesome-free/svgs/solid/compass.svg | 1 + .../svgs/solid/compress-alt.svg | 1 + .../svgs/solid/compress-arrows-alt.svg | 1 + .../fontawesome-free/svgs/solid/compress.svg | 1 + .../svgs/solid/concierge-bell.svg | 1 + .../svgs/solid/cookie-bite.svg | 1 + .../fontawesome-free/svgs/solid/cookie.svg | 1 + .../fontawesome-free/svgs/solid/copy.svg | 1 + .../fontawesome-free/svgs/solid/copyright.svg | 1 + .../fontawesome-free/svgs/solid/couch.svg | 1 + .../svgs/solid/credit-card.svg | 1 + .../fontawesome-free/svgs/solid/crop-alt.svg | 1 + .../fontawesome-free/svgs/solid/crop.svg | 1 + .../fontawesome-free/svgs/solid/cross.svg | 1 + .../svgs/solid/crosshairs.svg | 1 + .../fontawesome-free/svgs/solid/crow.svg | 1 + .../fontawesome-free/svgs/solid/crown.svg | 1 + .../fontawesome-free/svgs/solid/crutch.svg | 1 + .../fontawesome-free/svgs/solid/cube.svg | 1 + .../fontawesome-free/svgs/solid/cubes.svg | 1 + .../fontawesome-free/svgs/solid/cut.svg | 1 + .../fontawesome-free/svgs/solid/database.svg | 1 + .../fontawesome-free/svgs/solid/deaf.svg | 1 + .../fontawesome-free/svgs/solid/democrat.svg | 1 + .../fontawesome-free/svgs/solid/desktop.svg | 1 + .../svgs/solid/dharmachakra.svg | 1 + .../fontawesome-free/svgs/solid/diagnoses.svg | 1 + .../fontawesome-free/svgs/solid/dice-d20.svg | 1 + .../fontawesome-free/svgs/solid/dice-d6.svg | 1 + .../fontawesome-free/svgs/solid/dice-five.svg | 1 + .../fontawesome-free/svgs/solid/dice-four.svg | 1 + .../fontawesome-free/svgs/solid/dice-one.svg | 1 + .../fontawesome-free/svgs/solid/dice-six.svg | 1 + .../svgs/solid/dice-three.svg | 1 + .../fontawesome-free/svgs/solid/dice-two.svg | 1 + .../fontawesome-free/svgs/solid/dice.svg | 1 + .../svgs/solid/digital-tachograph.svg | 1 + .../svgs/solid/directions.svg | 1 + .../fontawesome-free/svgs/solid/disease.svg | 1 + .../fontawesome-free/svgs/solid/divide.svg | 1 + .../fontawesome-free/svgs/solid/dizzy.svg | 1 + .../fontawesome-free/svgs/solid/dna.svg | 1 + .../fontawesome-free/svgs/solid/dog.svg | 1 + .../svgs/solid/dollar-sign.svg | 1 + .../svgs/solid/dolly-flatbed.svg | 1 + .../fontawesome-free/svgs/solid/dolly.svg | 1 + .../fontawesome-free/svgs/solid/donate.svg | 1 + .../svgs/solid/door-closed.svg | 1 + .../fontawesome-free/svgs/solid/door-open.svg | 1 + .../svgs/solid/dot-circle.svg | 1 + .../fontawesome-free/svgs/solid/dove.svg | 1 + .../fontawesome-free/svgs/solid/download.svg | 1 + .../svgs/solid/drafting-compass.svg | 1 + .../fontawesome-free/svgs/solid/dragon.svg | 1 + .../svgs/solid/draw-polygon.svg | 1 + .../svgs/solid/drum-steelpan.svg | 1 + .../fontawesome-free/svgs/solid/drum.svg | 1 + .../svgs/solid/drumstick-bite.svg | 1 + .../fontawesome-free/svgs/solid/dumbbell.svg | 1 + .../svgs/solid/dumpster-fire.svg | 1 + .../fontawesome-free/svgs/solid/dumpster.svg | 1 + .../fontawesome-free/svgs/solid/dungeon.svg | 1 + .../fontawesome-free/svgs/solid/edit.svg | 1 + .../fontawesome-free/svgs/solid/egg.svg | 1 + .../fontawesome-free/svgs/solid/eject.svg | 1 + .../svgs/solid/ellipsis-h.svg | 1 + .../svgs/solid/ellipsis-v.svg | 1 + .../svgs/solid/envelope-open-text.svg | 1 + .../svgs/solid/envelope-open.svg | 1 + .../svgs/solid/envelope-square.svg | 1 + .../fontawesome-free/svgs/solid/envelope.svg | 1 + .../fontawesome-free/svgs/solid/equals.svg | 1 + .../fontawesome-free/svgs/solid/eraser.svg | 1 + .../fontawesome-free/svgs/solid/ethernet.svg | 1 + .../fontawesome-free/svgs/solid/euro-sign.svg | 1 + .../svgs/solid/exchange-alt.svg | 1 + .../svgs/solid/exclamation-circle.svg | 1 + .../svgs/solid/exclamation-triangle.svg | 1 + .../svgs/solid/exclamation.svg | 1 + .../svgs/solid/expand-alt.svg | 1 + .../svgs/solid/expand-arrows-alt.svg | 1 + .../fontawesome-free/svgs/solid/expand.svg | 1 + .../svgs/solid/external-link-alt.svg | 1 + .../svgs/solid/external-link-square-alt.svg | 1 + .../svgs/solid/eye-dropper.svg | 1 + .../fontawesome-free/svgs/solid/eye-slash.svg | 1 + .../fontawesome-free/svgs/solid/eye.svg | 1 + .../fontawesome-free/svgs/solid/fan.svg | 1 + .../svgs/solid/fast-backward.svg | 1 + .../svgs/solid/fast-forward.svg | 1 + .../fontawesome-free/svgs/solid/faucet.svg | 1 + .../fontawesome-free/svgs/solid/fax.svg | 1 + .../svgs/solid/feather-alt.svg | 1 + .../fontawesome-free/svgs/solid/feather.svg | 1 + .../fontawesome-free/svgs/solid/female.svg | 1 + .../svgs/solid/fighter-jet.svg | 1 + .../fontawesome-free/svgs/solid/file-alt.svg | 1 + .../svgs/solid/file-archive.svg | 1 + .../svgs/solid/file-audio.svg | 1 + .../fontawesome-free/svgs/solid/file-code.svg | 1 + .../svgs/solid/file-contract.svg | 1 + .../fontawesome-free/svgs/solid/file-csv.svg | 1 + .../svgs/solid/file-download.svg | 1 + .../svgs/solid/file-excel.svg | 1 + .../svgs/solid/file-export.svg | 1 + .../svgs/solid/file-image.svg | 1 + .../svgs/solid/file-import.svg | 1 + .../svgs/solid/file-invoice-dollar.svg | 1 + .../svgs/solid/file-invoice.svg | 1 + .../svgs/solid/file-medical-alt.svg | 1 + .../svgs/solid/file-medical.svg | 1 + .../fontawesome-free/svgs/solid/file-pdf.svg | 1 + .../svgs/solid/file-powerpoint.svg | 1 + .../svgs/solid/file-prescription.svg | 1 + .../svgs/solid/file-signature.svg | 1 + .../svgs/solid/file-upload.svg | 1 + .../svgs/solid/file-video.svg | 1 + .../fontawesome-free/svgs/solid/file-word.svg | 1 + .../fontawesome-free/svgs/solid/file.svg | 1 + .../fontawesome-free/svgs/solid/fill-drip.svg | 1 + .../fontawesome-free/svgs/solid/fill.svg | 1 + .../fontawesome-free/svgs/solid/film.svg | 1 + .../fontawesome-free/svgs/solid/filter.svg | 1 + .../svgs/solid/fingerprint.svg | 1 + .../fontawesome-free/svgs/solid/fire-alt.svg | 1 + .../svgs/solid/fire-extinguisher.svg | 1 + .../fontawesome-free/svgs/solid/fire.svg | 1 + .../fontawesome-free/svgs/solid/first-aid.svg | 1 + .../fontawesome-free/svgs/solid/fish.svg | 1 + .../svgs/solid/fist-raised.svg | 1 + .../svgs/solid/flag-checkered.svg | 1 + .../fontawesome-free/svgs/solid/flag-usa.svg | 1 + .../fontawesome-free/svgs/solid/flag.svg | 1 + .../fontawesome-free/svgs/solid/flask.svg | 1 + .../fontawesome-free/svgs/solid/flushed.svg | 1 + .../svgs/solid/folder-minus.svg | 1 + .../svgs/solid/folder-open.svg | 1 + .../svgs/solid/folder-plus.svg | 1 + .../fontawesome-free/svgs/solid/folder.svg | 1 + .../svgs/solid/font-awesome-logo-full.svg | 1 + .../fontawesome-free/svgs/solid/font.svg | 1 + .../svgs/solid/football-ball.svg | 1 + .../fontawesome-free/svgs/solid/forward.svg | 1 + .../fontawesome-free/svgs/solid/frog.svg | 1 + .../svgs/solid/frown-open.svg | 1 + .../fontawesome-free/svgs/solid/frown.svg | 1 + .../svgs/solid/funnel-dollar.svg | 1 + .../fontawesome-free/svgs/solid/futbol.svg | 1 + .../fontawesome-free/svgs/solid/gamepad.svg | 1 + .../fontawesome-free/svgs/solid/gas-pump.svg | 1 + .../fontawesome-free/svgs/solid/gavel.svg | 1 + .../fontawesome-free/svgs/solid/gem.svg | 1 + .../svgs/solid/genderless.svg | 1 + .../fontawesome-free/svgs/solid/ghost.svg | 1 + .../fontawesome-free/svgs/solid/gift.svg | 1 + .../fontawesome-free/svgs/solid/gifts.svg | 1 + .../svgs/solid/glass-cheers.svg | 1 + .../svgs/solid/glass-martini-alt.svg | 1 + .../svgs/solid/glass-martini.svg | 1 + .../svgs/solid/glass-whiskey.svg | 1 + .../fontawesome-free/svgs/solid/glasses.svg | 1 + .../svgs/solid/globe-africa.svg | 1 + .../svgs/solid/globe-americas.svg | 1 + .../svgs/solid/globe-asia.svg | 1 + .../svgs/solid/globe-europe.svg | 1 + .../fontawesome-free/svgs/solid/globe.svg | 1 + .../fontawesome-free/svgs/solid/golf-ball.svg | 1 + .../fontawesome-free/svgs/solid/gopuram.svg | 1 + .../svgs/solid/graduation-cap.svg | 1 + .../svgs/solid/greater-than-equal.svg | 1 + .../svgs/solid/greater-than.svg | 1 + .../fontawesome-free/svgs/solid/grimace.svg | 1 + .../fontawesome-free/svgs/solid/grin-alt.svg | 1 + .../svgs/solid/grin-beam-sweat.svg | 1 + .../fontawesome-free/svgs/solid/grin-beam.svg | 1 + .../svgs/solid/grin-hearts.svg | 1 + .../svgs/solid/grin-squint-tears.svg | 1 + .../svgs/solid/grin-squint.svg | 1 + .../svgs/solid/grin-stars.svg | 1 + .../svgs/solid/grin-tears.svg | 1 + .../svgs/solid/grin-tongue-squint.svg | 1 + .../svgs/solid/grin-tongue-wink.svg | 1 + .../svgs/solid/grin-tongue.svg | 1 + .../fontawesome-free/svgs/solid/grin-wink.svg | 1 + .../fontawesome-free/svgs/solid/grin.svg | 1 + .../svgs/solid/grip-horizontal.svg | 1 + .../svgs/solid/grip-lines-vertical.svg | 1 + .../svgs/solid/grip-lines.svg | 1 + .../svgs/solid/grip-vertical.svg | 1 + .../fontawesome-free/svgs/solid/guitar.svg | 1 + .../fontawesome-free/svgs/solid/h-square.svg | 1 + .../fontawesome-free/svgs/solid/hamburger.svg | 1 + .../fontawesome-free/svgs/solid/hammer.svg | 1 + .../fontawesome-free/svgs/solid/hamsa.svg | 1 + .../svgs/solid/hand-holding-heart.svg | 1 + .../svgs/solid/hand-holding-medical.svg | 1 + .../svgs/solid/hand-holding-usd.svg | 1 + .../svgs/solid/hand-holding-water.svg | 1 + .../svgs/solid/hand-holding.svg | 1 + .../svgs/solid/hand-lizard.svg | 1 + .../svgs/solid/hand-middle-finger.svg | 1 + .../svgs/solid/hand-paper.svg | 1 + .../svgs/solid/hand-peace.svg | 1 + .../svgs/solid/hand-point-down.svg | 1 + .../svgs/solid/hand-point-left.svg | 1 + .../svgs/solid/hand-point-right.svg | 1 + .../svgs/solid/hand-point-up.svg | 1 + .../svgs/solid/hand-pointer.svg | 1 + .../fontawesome-free/svgs/solid/hand-rock.svg | 1 + .../svgs/solid/hand-scissors.svg | 1 + .../svgs/solid/hand-sparkles.svg | 1 + .../svgs/solid/hand-spock.svg | 1 + .../svgs/solid/hands-helping.svg | 1 + .../svgs/solid/hands-wash.svg | 1 + .../fontawesome-free/svgs/solid/hands.svg | 1 + .../svgs/solid/handshake-alt-slash.svg | 1 + .../svgs/solid/handshake-slash.svg | 1 + .../fontawesome-free/svgs/solid/handshake.svg | 1 + .../fontawesome-free/svgs/solid/hanukiah.svg | 1 + .../fontawesome-free/svgs/solid/hard-hat.svg | 1 + .../fontawesome-free/svgs/solid/hashtag.svg | 1 + .../svgs/solid/hat-cowboy-side.svg | 1 + .../svgs/solid/hat-cowboy.svg | 1 + .../svgs/solid/hat-wizard.svg | 1 + .../fontawesome-free/svgs/solid/hdd.svg | 1 + .../svgs/solid/head-side-cough-slash.svg | 1 + .../svgs/solid/head-side-cough.svg | 1 + .../svgs/solid/head-side-mask.svg | 1 + .../svgs/solid/head-side-virus.svg | 1 + .../fontawesome-free/svgs/solid/heading.svg | 1 + .../svgs/solid/headphones-alt.svg | 1 + .../svgs/solid/headphones.svg | 1 + .../fontawesome-free/svgs/solid/headset.svg | 1 + .../svgs/solid/heart-broken.svg | 1 + .../fontawesome-free/svgs/solid/heart.svg | 1 + .../fontawesome-free/svgs/solid/heartbeat.svg | 1 + .../svgs/solid/helicopter.svg | 1 + .../svgs/solid/highlighter.svg | 1 + .../fontawesome-free/svgs/solid/hiking.svg | 1 + .../fontawesome-free/svgs/solid/hippo.svg | 1 + .../fontawesome-free/svgs/solid/history.svg | 1 + .../svgs/solid/hockey-puck.svg | 1 + .../svgs/solid/holly-berry.svg | 1 + .../fontawesome-free/svgs/solid/home.svg | 1 + .../svgs/solid/horse-head.svg | 1 + .../fontawesome-free/svgs/solid/horse.svg | 1 + .../svgs/solid/hospital-alt.svg | 1 + .../svgs/solid/hospital-symbol.svg | 1 + .../svgs/solid/hospital-user.svg | 1 + .../fontawesome-free/svgs/solid/hospital.svg | 1 + .../fontawesome-free/svgs/solid/hot-tub.svg | 1 + .../fontawesome-free/svgs/solid/hotdog.svg | 1 + .../fontawesome-free/svgs/solid/hotel.svg | 1 + .../svgs/solid/hourglass-end.svg | 1 + .../svgs/solid/hourglass-half.svg | 1 + .../svgs/solid/hourglass-start.svg | 1 + .../fontawesome-free/svgs/solid/hourglass.svg | 1 + .../svgs/solid/house-damage.svg | 1 + .../svgs/solid/house-user.svg | 1 + .../fontawesome-free/svgs/solid/hryvnia.svg | 1 + .../fontawesome-free/svgs/solid/i-cursor.svg | 1 + .../fontawesome-free/svgs/solid/ice-cream.svg | 1 + .../fontawesome-free/svgs/solid/icicles.svg | 1 + .../fontawesome-free/svgs/solid/icons.svg | 1 + .../fontawesome-free/svgs/solid/id-badge.svg | 1 + .../svgs/solid/id-card-alt.svg | 1 + .../fontawesome-free/svgs/solid/id-card.svg | 1 + .../fontawesome-free/svgs/solid/igloo.svg | 1 + .../fontawesome-free/svgs/solid/image.svg | 1 + .../fontawesome-free/svgs/solid/images.svg | 1 + .../fontawesome-free/svgs/solid/inbox.svg | 1 + .../fontawesome-free/svgs/solid/indent.svg | 1 + .../fontawesome-free/svgs/solid/industry.svg | 1 + .../fontawesome-free/svgs/solid/infinity.svg | 1 + .../svgs/solid/info-circle.svg | 1 + .../fontawesome-free/svgs/solid/info.svg | 1 + .../fontawesome-free/svgs/solid/italic.svg | 1 + .../fontawesome-free/svgs/solid/jedi.svg | 1 + .../fontawesome-free/svgs/solid/joint.svg | 1 + .../svgs/solid/journal-whills.svg | 1 + .../fontawesome-free/svgs/solid/kaaba.svg | 1 + .../fontawesome-free/svgs/solid/key.svg | 1 + .../fontawesome-free/svgs/solid/keyboard.svg | 1 + .../fontawesome-free/svgs/solid/khanda.svg | 1 + .../fontawesome-free/svgs/solid/kiss-beam.svg | 1 + .../svgs/solid/kiss-wink-heart.svg | 1 + .../fontawesome-free/svgs/solid/kiss.svg | 1 + .../fontawesome-free/svgs/solid/kiwi-bird.svg | 1 + .../fontawesome-free/svgs/solid/landmark.svg | 1 + .../fontawesome-free/svgs/solid/language.svg | 1 + .../svgs/solid/laptop-code.svg | 1 + .../svgs/solid/laptop-house.svg | 1 + .../svgs/solid/laptop-medical.svg | 1 + .../fontawesome-free/svgs/solid/laptop.svg | 1 + .../svgs/solid/laugh-beam.svg | 1 + .../svgs/solid/laugh-squint.svg | 1 + .../svgs/solid/laugh-wink.svg | 1 + .../fontawesome-free/svgs/solid/laugh.svg | 1 + .../svgs/solid/layer-group.svg | 1 + .../fontawesome-free/svgs/solid/leaf.svg | 1 + .../fontawesome-free/svgs/solid/lemon.svg | 1 + .../svgs/solid/less-than-equal.svg | 1 + .../fontawesome-free/svgs/solid/less-than.svg | 1 + .../svgs/solid/level-down-alt.svg | 1 + .../svgs/solid/level-up-alt.svg | 1 + .../fontawesome-free/svgs/solid/life-ring.svg | 1 + .../fontawesome-free/svgs/solid/lightbulb.svg | 1 + .../fontawesome-free/svgs/solid/link.svg | 1 + .../fontawesome-free/svgs/solid/lira-sign.svg | 1 + .../fontawesome-free/svgs/solid/list-alt.svg | 1 + .../fontawesome-free/svgs/solid/list-ol.svg | 1 + .../fontawesome-free/svgs/solid/list-ul.svg | 1 + .../fontawesome-free/svgs/solid/list.svg | 1 + .../svgs/solid/location-arrow.svg | 1 + .../fontawesome-free/svgs/solid/lock-open.svg | 1 + .../fontawesome-free/svgs/solid/lock.svg | 1 + .../svgs/solid/long-arrow-alt-down.svg | 1 + .../svgs/solid/long-arrow-alt-left.svg | 1 + .../svgs/solid/long-arrow-alt-right.svg | 1 + .../svgs/solid/long-arrow-alt-up.svg | 1 + .../svgs/solid/low-vision.svg | 1 + .../svgs/solid/luggage-cart.svg | 1 + .../svgs/solid/lungs-virus.svg | 1 + .../fontawesome-free/svgs/solid/lungs.svg | 1 + .../fontawesome-free/svgs/solid/magic.svg | 1 + .../fontawesome-free/svgs/solid/magnet.svg | 1 + .../fontawesome-free/svgs/solid/mail-bulk.svg | 1 + .../fontawesome-free/svgs/solid/male.svg | 1 + .../svgs/solid/map-marked-alt.svg | 1 + .../svgs/solid/map-marked.svg | 1 + .../svgs/solid/map-marker-alt.svg | 1 + .../svgs/solid/map-marker.svg | 1 + .../fontawesome-free/svgs/solid/map-pin.svg | 1 + .../fontawesome-free/svgs/solid/map-signs.svg | 1 + .../fontawesome-free/svgs/solid/map.svg | 1 + .../fontawesome-free/svgs/solid/marker.svg | 1 + .../svgs/solid/mars-double.svg | 1 + .../svgs/solid/mars-stroke-h.svg | 1 + .../svgs/solid/mars-stroke-v.svg | 1 + .../svgs/solid/mars-stroke.svg | 1 + .../fontawesome-free/svgs/solid/mars.svg | 1 + .../fontawesome-free/svgs/solid/mask.svg | 1 + .../fontawesome-free/svgs/solid/medal.svg | 1 + .../fontawesome-free/svgs/solid/medkit.svg | 1 + .../fontawesome-free/svgs/solid/meh-blank.svg | 1 + .../svgs/solid/meh-rolling-eyes.svg | 1 + .../fontawesome-free/svgs/solid/meh.svg | 1 + .../fontawesome-free/svgs/solid/memory.svg | 1 + .../fontawesome-free/svgs/solid/menorah.svg | 1 + .../fontawesome-free/svgs/solid/mercury.svg | 1 + .../fontawesome-free/svgs/solid/meteor.svg | 1 + .../fontawesome-free/svgs/solid/microchip.svg | 1 + .../svgs/solid/microphone-alt-slash.svg | 1 + .../svgs/solid/microphone-alt.svg | 1 + .../svgs/solid/microphone-slash.svg | 1 + .../svgs/solid/microphone.svg | 1 + .../svgs/solid/microscope.svg | 1 + .../svgs/solid/minus-circle.svg | 1 + .../svgs/solid/minus-square.svg | 1 + .../fontawesome-free/svgs/solid/minus.svg | 1 + .../fontawesome-free/svgs/solid/mitten.svg | 1 + .../svgs/solid/mobile-alt.svg | 1 + .../fontawesome-free/svgs/solid/mobile.svg | 1 + .../svgs/solid/money-bill-alt.svg | 1 + .../svgs/solid/money-bill-wave-alt.svg | 1 + .../svgs/solid/money-bill-wave.svg | 1 + .../svgs/solid/money-bill.svg | 1 + .../svgs/solid/money-check-alt.svg | 1 + .../svgs/solid/money-check.svg | 1 + .../fontawesome-free/svgs/solid/monument.svg | 1 + .../fontawesome-free/svgs/solid/moon.svg | 1 + .../svgs/solid/mortar-pestle.svg | 1 + .../fontawesome-free/svgs/solid/mosque.svg | 1 + .../svgs/solid/motorcycle.svg | 1 + .../fontawesome-free/svgs/solid/mountain.svg | 1 + .../svgs/solid/mouse-pointer.svg | 1 + .../fontawesome-free/svgs/solid/mouse.svg | 1 + .../fontawesome-free/svgs/solid/mug-hot.svg | 1 + .../fontawesome-free/svgs/solid/music.svg | 1 + .../svgs/solid/network-wired.svg | 1 + .../fontawesome-free/svgs/solid/neuter.svg | 1 + .../fontawesome-free/svgs/solid/newspaper.svg | 1 + .../fontawesome-free/svgs/solid/not-equal.svg | 1 + .../svgs/solid/notes-medical.svg | 1 + .../svgs/solid/object-group.svg | 1 + .../svgs/solid/object-ungroup.svg | 1 + .../fontawesome-free/svgs/solid/oil-can.svg | 1 + .../vendor/fontawesome-free/svgs/solid/om.svg | 1 + .../fontawesome-free/svgs/solid/otter.svg | 1 + .../fontawesome-free/svgs/solid/outdent.svg | 1 + .../fontawesome-free/svgs/solid/pager.svg | 1 + .../svgs/solid/paint-brush.svg | 1 + .../svgs/solid/paint-roller.svg | 1 + .../fontawesome-free/svgs/solid/palette.svg | 1 + .../fontawesome-free/svgs/solid/pallet.svg | 1 + .../svgs/solid/paper-plane.svg | 1 + .../fontawesome-free/svgs/solid/paperclip.svg | 1 + .../svgs/solid/parachute-box.svg | 1 + .../fontawesome-free/svgs/solid/paragraph.svg | 1 + .../fontawesome-free/svgs/solid/parking.svg | 1 + .../fontawesome-free/svgs/solid/passport.svg | 1 + .../svgs/solid/pastafarianism.svg | 1 + .../fontawesome-free/svgs/solid/paste.svg | 1 + .../svgs/solid/pause-circle.svg | 1 + .../fontawesome-free/svgs/solid/pause.svg | 1 + .../fontawesome-free/svgs/solid/paw.svg | 1 + .../fontawesome-free/svgs/solid/peace.svg | 1 + .../fontawesome-free/svgs/solid/pen-alt.svg | 1 + .../fontawesome-free/svgs/solid/pen-fancy.svg | 1 + .../fontawesome-free/svgs/solid/pen-nib.svg | 1 + .../svgs/solid/pen-square.svg | 1 + .../fontawesome-free/svgs/solid/pen.svg | 1 + .../svgs/solid/pencil-alt.svg | 1 + .../svgs/solid/pencil-ruler.svg | 1 + .../svgs/solid/people-arrows.svg | 1 + .../svgs/solid/people-carry.svg | 1 + .../svgs/solid/pepper-hot.svg | 1 + .../fontawesome-free/svgs/solid/percent.svg | 1 + .../svgs/solid/percentage.svg | 1 + .../svgs/solid/person-booth.svg | 1 + .../fontawesome-free/svgs/solid/phone-alt.svg | 1 + .../svgs/solid/phone-slash.svg | 1 + .../svgs/solid/phone-square-alt.svg | 1 + .../svgs/solid/phone-square.svg | 1 + .../svgs/solid/phone-volume.svg | 1 + .../fontawesome-free/svgs/solid/phone.svg | 1 + .../svgs/solid/photo-video.svg | 1 + .../svgs/solid/piggy-bank.svg | 1 + .../fontawesome-free/svgs/solid/pills.svg | 1 + .../svgs/solid/pizza-slice.svg | 1 + .../svgs/solid/place-of-worship.svg | 1 + .../svgs/solid/plane-arrival.svg | 1 + .../svgs/solid/plane-departure.svg | 1 + .../svgs/solid/plane-slash.svg | 1 + .../fontawesome-free/svgs/solid/plane.svg | 1 + .../svgs/solid/play-circle.svg | 1 + .../fontawesome-free/svgs/solid/play.svg | 1 + .../fontawesome-free/svgs/solid/plug.svg | 1 + .../svgs/solid/plus-circle.svg | 1 + .../svgs/solid/plus-square.svg | 1 + .../fontawesome-free/svgs/solid/plus.svg | 1 + .../fontawesome-free/svgs/solid/podcast.svg | 1 + .../fontawesome-free/svgs/solid/poll-h.svg | 1 + .../fontawesome-free/svgs/solid/poll.svg | 1 + .../fontawesome-free/svgs/solid/poo-storm.svg | 1 + .../fontawesome-free/svgs/solid/poo.svg | 1 + .../fontawesome-free/svgs/solid/poop.svg | 1 + .../fontawesome-free/svgs/solid/portrait.svg | 1 + .../svgs/solid/pound-sign.svg | 1 + .../fontawesome-free/svgs/solid/power-off.svg | 1 + .../fontawesome-free/svgs/solid/pray.svg | 1 + .../svgs/solid/praying-hands.svg | 1 + .../svgs/solid/prescription-bottle-alt.svg | 1 + .../svgs/solid/prescription-bottle.svg | 1 + .../svgs/solid/prescription.svg | 1 + .../fontawesome-free/svgs/solid/print.svg | 1 + .../svgs/solid/procedures.svg | 1 + .../svgs/solid/project-diagram.svg | 1 + .../svgs/solid/pump-medical.svg | 1 + .../fontawesome-free/svgs/solid/pump-soap.svg | 1 + .../svgs/solid/puzzle-piece.svg | 1 + .../fontawesome-free/svgs/solid/qrcode.svg | 1 + .../svgs/solid/question-circle.svg | 1 + .../fontawesome-free/svgs/solid/question.svg | 1 + .../fontawesome-free/svgs/solid/quidditch.svg | 1 + .../svgs/solid/quote-left.svg | 1 + .../svgs/solid/quote-right.svg | 1 + .../fontawesome-free/svgs/solid/quran.svg | 1 + .../svgs/solid/radiation-alt.svg | 1 + .../fontawesome-free/svgs/solid/radiation.svg | 1 + .../fontawesome-free/svgs/solid/rainbow.svg | 1 + .../fontawesome-free/svgs/solid/random.svg | 1 + .../fontawesome-free/svgs/solid/receipt.svg | 1 + .../svgs/solid/record-vinyl.svg | 1 + .../fontawesome-free/svgs/solid/recycle.svg | 1 + .../fontawesome-free/svgs/solid/redo-alt.svg | 1 + .../fontawesome-free/svgs/solid/redo.svg | 1 + .../svgs/solid/registered.svg | 1 + .../svgs/solid/remove-format.svg | 1 + .../fontawesome-free/svgs/solid/reply-all.svg | 1 + .../fontawesome-free/svgs/solid/reply.svg | 1 + .../svgs/solid/republican.svg | 1 + .../fontawesome-free/svgs/solid/restroom.svg | 1 + .../fontawesome-free/svgs/solid/retweet.svg | 1 + .../fontawesome-free/svgs/solid/ribbon.svg | 1 + .../fontawesome-free/svgs/solid/ring.svg | 1 + .../fontawesome-free/svgs/solid/road.svg | 1 + .../fontawesome-free/svgs/solid/robot.svg | 1 + .../fontawesome-free/svgs/solid/rocket.svg | 1 + .../fontawesome-free/svgs/solid/route.svg | 1 + .../svgs/solid/rss-square.svg | 1 + .../fontawesome-free/svgs/solid/rss.svg | 1 + .../svgs/solid/ruble-sign.svg | 1 + .../svgs/solid/ruler-combined.svg | 1 + .../svgs/solid/ruler-horizontal.svg | 1 + .../svgs/solid/ruler-vertical.svg | 1 + .../fontawesome-free/svgs/solid/ruler.svg | 1 + .../fontawesome-free/svgs/solid/running.svg | 1 + .../svgs/solid/rupee-sign.svg | 1 + .../fontawesome-free/svgs/solid/sad-cry.svg | 1 + .../fontawesome-free/svgs/solid/sad-tear.svg | 1 + .../svgs/solid/satellite-dish.svg | 1 + .../fontawesome-free/svgs/solid/satellite.svg | 1 + .../fontawesome-free/svgs/solid/save.svg | 1 + .../fontawesome-free/svgs/solid/school.svg | 1 + .../svgs/solid/screwdriver.svg | 1 + .../fontawesome-free/svgs/solid/scroll.svg | 1 + .../fontawesome-free/svgs/solid/sd-card.svg | 1 + .../svgs/solid/search-dollar.svg | 1 + .../svgs/solid/search-location.svg | 1 + .../svgs/solid/search-minus.svg | 1 + .../svgs/solid/search-plus.svg | 1 + .../fontawesome-free/svgs/solid/search.svg | 1 + .../fontawesome-free/svgs/solid/seedling.svg | 1 + .../fontawesome-free/svgs/solid/server.svg | 1 + .../fontawesome-free/svgs/solid/shapes.svg | 1 + .../svgs/solid/share-alt-square.svg | 1 + .../fontawesome-free/svgs/solid/share-alt.svg | 1 + .../svgs/solid/share-square.svg | 1 + .../fontawesome-free/svgs/solid/share.svg | 1 + .../svgs/solid/shekel-sign.svg | 1 + .../svgs/solid/shield-alt.svg | 1 + .../svgs/solid/shield-virus.svg | 1 + .../fontawesome-free/svgs/solid/ship.svg | 1 + .../svgs/solid/shipping-fast.svg | 1 + .../svgs/solid/shoe-prints.svg | 1 + .../svgs/solid/shopping-bag.svg | 1 + .../svgs/solid/shopping-basket.svg | 1 + .../svgs/solid/shopping-cart.svg | 1 + .../fontawesome-free/svgs/solid/shower.svg | 1 + .../svgs/solid/shuttle-van.svg | 1 + .../svgs/solid/sign-in-alt.svg | 1 + .../svgs/solid/sign-language.svg | 1 + .../svgs/solid/sign-out-alt.svg | 1 + .../fontawesome-free/svgs/solid/sign.svg | 1 + .../fontawesome-free/svgs/solid/signal.svg | 1 + .../fontawesome-free/svgs/solid/signature.svg | 1 + .../fontawesome-free/svgs/solid/sim-card.svg | 1 + .../fontawesome-free/svgs/solid/sink.svg | 1 + .../fontawesome-free/svgs/solid/sitemap.svg | 1 + .../fontawesome-free/svgs/solid/skating.svg | 1 + .../svgs/solid/skiing-nordic.svg | 1 + .../fontawesome-free/svgs/solid/skiing.svg | 1 + .../svgs/solid/skull-crossbones.svg | 1 + .../fontawesome-free/svgs/solid/skull.svg | 1 + .../fontawesome-free/svgs/solid/slash.svg | 1 + .../fontawesome-free/svgs/solid/sleigh.svg | 1 + .../fontawesome-free/svgs/solid/sliders-h.svg | 1 + .../svgs/solid/smile-beam.svg | 1 + .../svgs/solid/smile-wink.svg | 1 + .../fontawesome-free/svgs/solid/smile.svg | 1 + .../fontawesome-free/svgs/solid/smog.svg | 1 + .../svgs/solid/smoking-ban.svg | 1 + .../fontawesome-free/svgs/solid/smoking.svg | 1 + .../fontawesome-free/svgs/solid/sms.svg | 1 + .../svgs/solid/snowboarding.svg | 1 + .../fontawesome-free/svgs/solid/snowflake.svg | 1 + .../fontawesome-free/svgs/solid/snowman.svg | 1 + .../fontawesome-free/svgs/solid/snowplow.svg | 1 + .../fontawesome-free/svgs/solid/soap.svg | 1 + .../fontawesome-free/svgs/solid/socks.svg | 1 + .../svgs/solid/solar-panel.svg | 1 + .../svgs/solid/sort-alpha-down-alt.svg | 1 + .../svgs/solid/sort-alpha-down.svg | 1 + .../svgs/solid/sort-alpha-up-alt.svg | 1 + .../svgs/solid/sort-alpha-up.svg | 1 + .../svgs/solid/sort-amount-down-alt.svg | 1 + .../svgs/solid/sort-amount-down.svg | 1 + .../svgs/solid/sort-amount-up-alt.svg | 1 + .../svgs/solid/sort-amount-up.svg | 1 + .../fontawesome-free/svgs/solid/sort-down.svg | 1 + .../svgs/solid/sort-numeric-down-alt.svg | 1 + .../svgs/solid/sort-numeric-down.svg | 1 + .../svgs/solid/sort-numeric-up-alt.svg | 1 + .../svgs/solid/sort-numeric-up.svg | 1 + .../fontawesome-free/svgs/solid/sort-up.svg | 1 + .../fontawesome-free/svgs/solid/sort.svg | 1 + .../fontawesome-free/svgs/solid/spa.svg | 1 + .../svgs/solid/space-shuttle.svg | 1 + .../svgs/solid/spell-check.svg | 1 + .../fontawesome-free/svgs/solid/spider.svg | 1 + .../fontawesome-free/svgs/solid/spinner.svg | 1 + .../fontawesome-free/svgs/solid/splotch.svg | 1 + .../fontawesome-free/svgs/solid/spray-can.svg | 1 + .../svgs/solid/square-full.svg | 1 + .../svgs/solid/square-root-alt.svg | 1 + .../fontawesome-free/svgs/solid/square.svg | 1 + .../fontawesome-free/svgs/solid/stamp.svg | 1 + .../svgs/solid/star-and-crescent.svg | 1 + .../svgs/solid/star-half-alt.svg | 1 + .../fontawesome-free/svgs/solid/star-half.svg | 1 + .../svgs/solid/star-of-david.svg | 1 + .../svgs/solid/star-of-life.svg | 1 + .../fontawesome-free/svgs/solid/star.svg | 1 + .../svgs/solid/step-backward.svg | 1 + .../svgs/solid/step-forward.svg | 1 + .../svgs/solid/stethoscope.svg | 1 + .../svgs/solid/sticky-note.svg | 1 + .../svgs/solid/stop-circle.svg | 1 + .../fontawesome-free/svgs/solid/stop.svg | 1 + .../svgs/solid/stopwatch-20.svg | 1 + .../fontawesome-free/svgs/solid/stopwatch.svg | 1 + .../svgs/solid/store-alt-slash.svg | 1 + .../fontawesome-free/svgs/solid/store-alt.svg | 1 + .../svgs/solid/store-slash.svg | 1 + .../fontawesome-free/svgs/solid/store.svg | 1 + .../fontawesome-free/svgs/solid/stream.svg | 1 + .../svgs/solid/street-view.svg | 1 + .../svgs/solid/strikethrough.svg | 1 + .../svgs/solid/stroopwafel.svg | 1 + .../fontawesome-free/svgs/solid/subscript.svg | 1 + .../fontawesome-free/svgs/solid/subway.svg | 1 + .../svgs/solid/suitcase-rolling.svg | 1 + .../fontawesome-free/svgs/solid/suitcase.svg | 1 + .../fontawesome-free/svgs/solid/sun.svg | 1 + .../svgs/solid/superscript.svg | 1 + .../fontawesome-free/svgs/solid/surprise.svg | 1 + .../svgs/solid/swatchbook.svg | 1 + .../fontawesome-free/svgs/solid/swimmer.svg | 1 + .../svgs/solid/swimming-pool.svg | 1 + .../fontawesome-free/svgs/solid/synagogue.svg | 1 + .../fontawesome-free/svgs/solid/sync-alt.svg | 1 + .../fontawesome-free/svgs/solid/sync.svg | 1 + .../fontawesome-free/svgs/solid/syringe.svg | 1 + .../svgs/solid/table-tennis.svg | 1 + .../fontawesome-free/svgs/solid/table.svg | 1 + .../svgs/solid/tablet-alt.svg | 1 + .../fontawesome-free/svgs/solid/tablet.svg | 1 + .../fontawesome-free/svgs/solid/tablets.svg | 1 + .../svgs/solid/tachometer-alt.svg | 1 + .../fontawesome-free/svgs/solid/tag.svg | 1 + .../fontawesome-free/svgs/solid/tags.svg | 1 + .../fontawesome-free/svgs/solid/tape.svg | 1 + .../fontawesome-free/svgs/solid/tasks.svg | 1 + .../fontawesome-free/svgs/solid/taxi.svg | 1 + .../svgs/solid/teeth-open.svg | 1 + .../fontawesome-free/svgs/solid/teeth.svg | 1 + .../svgs/solid/temperature-high.svg | 1 + .../svgs/solid/temperature-low.svg | 1 + .../fontawesome-free/svgs/solid/tenge.svg | 1 + .../fontawesome-free/svgs/solid/terminal.svg | 1 + .../svgs/solid/text-height.svg | 1 + .../svgs/solid/text-width.svg | 1 + .../fontawesome-free/svgs/solid/th-large.svg | 1 + .../fontawesome-free/svgs/solid/th-list.svg | 1 + .../vendor/fontawesome-free/svgs/solid/th.svg | 1 + .../svgs/solid/theater-masks.svg | 1 + .../svgs/solid/thermometer-empty.svg | 1 + .../svgs/solid/thermometer-full.svg | 1 + .../svgs/solid/thermometer-half.svg | 1 + .../svgs/solid/thermometer-quarter.svg | 1 + .../svgs/solid/thermometer-three-quarters.svg | 1 + .../svgs/solid/thermometer.svg | 1 + .../svgs/solid/thumbs-down.svg | 1 + .../fontawesome-free/svgs/solid/thumbs-up.svg | 1 + .../fontawesome-free/svgs/solid/thumbtack.svg | 1 + .../svgs/solid/ticket-alt.svg | 1 + .../svgs/solid/times-circle.svg | 1 + .../fontawesome-free/svgs/solid/times.svg | 1 + .../svgs/solid/tint-slash.svg | 1 + .../fontawesome-free/svgs/solid/tint.svg | 1 + .../fontawesome-free/svgs/solid/tired.svg | 1 + .../svgs/solid/toggle-off.svg | 1 + .../fontawesome-free/svgs/solid/toggle-on.svg | 1 + .../svgs/solid/toilet-paper-slash.svg | 1 + .../svgs/solid/toilet-paper.svg | 1 + .../fontawesome-free/svgs/solid/toilet.svg | 1 + .../fontawesome-free/svgs/solid/toolbox.svg | 1 + .../fontawesome-free/svgs/solid/tools.svg | 1 + .../fontawesome-free/svgs/solid/tooth.svg | 1 + .../fontawesome-free/svgs/solid/torah.svg | 1 + .../svgs/solid/torii-gate.svg | 1 + .../fontawesome-free/svgs/solid/tractor.svg | 1 + .../fontawesome-free/svgs/solid/trademark.svg | 1 + .../svgs/solid/traffic-light.svg | 1 + .../fontawesome-free/svgs/solid/trailer.svg | 1 + .../fontawesome-free/svgs/solid/train.svg | 1 + .../fontawesome-free/svgs/solid/tram.svg | 1 + .../svgs/solid/transgender-alt.svg | 1 + .../svgs/solid/transgender.svg | 1 + .../fontawesome-free/svgs/solid/trash-alt.svg | 1 + .../svgs/solid/trash-restore-alt.svg | 1 + .../svgs/solid/trash-restore.svg | 1 + .../fontawesome-free/svgs/solid/trash.svg | 1 + .../fontawesome-free/svgs/solid/tree.svg | 1 + .../fontawesome-free/svgs/solid/trophy.svg | 1 + .../svgs/solid/truck-loading.svg | 1 + .../svgs/solid/truck-monster.svg | 1 + .../svgs/solid/truck-moving.svg | 1 + .../svgs/solid/truck-pickup.svg | 1 + .../fontawesome-free/svgs/solid/truck.svg | 1 + .../fontawesome-free/svgs/solid/tshirt.svg | 1 + .../fontawesome-free/svgs/solid/tty.svg | 1 + .../vendor/fontawesome-free/svgs/solid/tv.svg | 1 + .../svgs/solid/umbrella-beach.svg | 1 + .../fontawesome-free/svgs/solid/umbrella.svg | 1 + .../fontawesome-free/svgs/solid/underline.svg | 1 + .../fontawesome-free/svgs/solid/undo-alt.svg | 1 + .../fontawesome-free/svgs/solid/undo.svg | 1 + .../svgs/solid/universal-access.svg | 1 + .../svgs/solid/university.svg | 1 + .../fontawesome-free/svgs/solid/unlink.svg | 1 + .../svgs/solid/unlock-alt.svg | 1 + .../fontawesome-free/svgs/solid/unlock.svg | 1 + .../fontawesome-free/svgs/solid/upload.svg | 1 + .../svgs/solid/user-alt-slash.svg | 1 + .../fontawesome-free/svgs/solid/user-alt.svg | 1 + .../svgs/solid/user-astronaut.svg | 1 + .../svgs/solid/user-check.svg | 1 + .../svgs/solid/user-circle.svg | 1 + .../svgs/solid/user-clock.svg | 1 + .../fontawesome-free/svgs/solid/user-cog.svg | 1 + .../fontawesome-free/svgs/solid/user-edit.svg | 1 + .../svgs/solid/user-friends.svg | 1 + .../svgs/solid/user-graduate.svg | 1 + .../svgs/solid/user-injured.svg | 1 + .../fontawesome-free/svgs/solid/user-lock.svg | 1 + .../fontawesome-free/svgs/solid/user-md.svg | 1 + .../svgs/solid/user-minus.svg | 1 + .../svgs/solid/user-ninja.svg | 1 + .../svgs/solid/user-nurse.svg | 1 + .../fontawesome-free/svgs/solid/user-plus.svg | 1 + .../svgs/solid/user-secret.svg | 1 + .../svgs/solid/user-shield.svg | 1 + .../svgs/solid/user-slash.svg | 1 + .../fontawesome-free/svgs/solid/user-tag.svg | 1 + .../fontawesome-free/svgs/solid/user-tie.svg | 1 + .../svgs/solid/user-times.svg | 1 + .../fontawesome-free/svgs/solid/user.svg | 1 + .../fontawesome-free/svgs/solid/users-cog.svg | 1 + .../svgs/solid/users-slash.svg | 1 + .../fontawesome-free/svgs/solid/users.svg | 1 + .../svgs/solid/utensil-spoon.svg | 1 + .../fontawesome-free/svgs/solid/utensils.svg | 1 + .../svgs/solid/vector-square.svg | 1 + .../svgs/solid/venus-double.svg | 1 + .../svgs/solid/venus-mars.svg | 1 + .../fontawesome-free/svgs/solid/venus.svg | 1 + .../svgs/solid/vest-patches.svg | 1 + .../fontawesome-free/svgs/solid/vest.svg | 1 + .../fontawesome-free/svgs/solid/vial.svg | 1 + .../fontawesome-free/svgs/solid/vials.svg | 1 + .../svgs/solid/video-slash.svg | 1 + .../fontawesome-free/svgs/solid/video.svg | 1 + .../fontawesome-free/svgs/solid/vihara.svg | 1 + .../svgs/solid/virus-slash.svg | 1 + .../fontawesome-free/svgs/solid/virus.svg | 1 + .../fontawesome-free/svgs/solid/viruses.svg | 1 + .../fontawesome-free/svgs/solid/voicemail.svg | 1 + .../svgs/solid/volleyball-ball.svg | 1 + .../svgs/solid/volume-down.svg | 1 + .../svgs/solid/volume-mute.svg | 1 + .../svgs/solid/volume-off.svg | 1 + .../fontawesome-free/svgs/solid/volume-up.svg | 1 + .../fontawesome-free/svgs/solid/vote-yea.svg | 1 + .../svgs/solid/vr-cardboard.svg | 1 + .../fontawesome-free/svgs/solid/walking.svg | 1 + .../fontawesome-free/svgs/solid/wallet.svg | 1 + .../fontawesome-free/svgs/solid/warehouse.svg | 1 + .../fontawesome-free/svgs/solid/water.svg | 1 + .../svgs/solid/wave-square.svg | 1 + .../svgs/solid/weight-hanging.svg | 1 + .../fontawesome-free/svgs/solid/weight.svg | 1 + .../svgs/solid/wheelchair.svg | 1 + .../fontawesome-free/svgs/solid/wifi.svg | 1 + .../fontawesome-free/svgs/solid/wind.svg | 1 + .../svgs/solid/window-close.svg | 1 + .../svgs/solid/window-maximize.svg | 1 + .../svgs/solid/window-minimize.svg | 1 + .../svgs/solid/window-restore.svg | 1 + .../svgs/solid/wine-bottle.svg | 1 + .../svgs/solid/wine-glass-alt.svg | 1 + .../svgs/solid/wine-glass.svg | 1 + .../fontawesome-free/svgs/solid/won-sign.svg | 1 + .../fontawesome-free/svgs/solid/wrench.svg | 1 + .../fontawesome-free/svgs/solid/x-ray.svg | 1 + .../fontawesome-free/svgs/solid/yen-sign.svg | 1 + .../fontawesome-free/svgs/solid/yin-yang.svg | 1 + .../webfonts/fa-brands-400.eot | Bin 0 -> 134346 bytes .../webfonts/fa-brands-400.svg | 3717 +++ .../webfonts/fa-brands-400.ttf | Bin 0 -> 134040 bytes .../webfonts/fa-brands-400.woff | Bin 0 -> 90060 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 76764 bytes .../webfonts/fa-regular-400.eot | Bin 0 -> 34034 bytes .../webfonts/fa-regular-400.svg | 801 + .../webfonts/fa-regular-400.ttf | Bin 0 -> 33736 bytes .../webfonts/fa-regular-400.woff | Bin 0 -> 16276 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13276 bytes .../webfonts/fa-solid-900.eot | Bin 0 -> 203030 bytes .../webfonts/fa-solid-900.svg | 5034 ++++ .../webfonts/fa-solid-900.ttf | Bin 0 -> 202744 bytes .../webfonts/fa-solid-900.woff | Bin 0 -> 101652 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 78196 bytes .../jquery.easing.compatibility.js | 59 + public/vendor/jquery-easing/jquery.easing.js | 166 + .../vendor/jquery-easing/jquery.easing.min.js | 1 + public/vendor/jquery/jquery.js | 10881 ++++++++ public/vendor/jquery/jquery.min.js | 2 + public/vendor/jquery/jquery.min.map | 1 + public/vendor/jquery/jquery.slim.js | 8782 +++++++ public/vendor/jquery/jquery.slim.min.js | 2 + public/vendor/jquery/jquery.slim.min.map | 1 + resources/css/app.css | 0 resources/js/app.js | 1 + resources/js/bootstrap.js | 32 + resources/views/dashboard.blade.php | 207 + resources/views/data.blade.php | 113 + resources/views/kecamatan.blade.php | 139 + resources/views/kmeans/index.blade.php | 157 + resources/views/layouts/footer.blade.php | 7 + resources/views/layouts/header.blade.php | 34 + resources/views/layouts/master.blade.php | 101 + resources/views/layouts/sidebar.blade.php | 72 + resources/views/login.blade.php | 69 + resources/views/welcome.blade.php | 133 + routes/api.php | 19 + routes/channels.php | 18 + routes/console.php | 19 + routes/web.php | 37 + storage/app/.gitignore | 3 + storage/app/public/.gitignore | 2 + storage/framework/.gitignore | 9 + storage/framework/cache/.gitignore | 3 + storage/framework/cache/data/.gitignore | 2 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + tests/CreatesApplication.php | 21 + tests/Feature/ExampleTest.php | 19 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 16 + vite.config.js | 11 + 1960 files changed, 193197 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app/Charts/MonthlyDBDChart.php create mode 100644 app/Charts/YearlyDBDChart.php create mode 100644 app/Console/Kernel.php create mode 100644 app/Exceptions/Handler.php create mode 100644 app/Exports/ClusterExport.php create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Http/Controllers/DashboardController.php create mode 100644 app/Http/Controllers/DataController.php create mode 100644 app/Http/Controllers/ExportController.php create mode 100644 app/Http/Controllers/KMeansController.php create mode 100644 app/Http/Controllers/KecamatanController.php create mode 100644 app/Http/Controllers/LoginController.php create mode 100644 app/Http/Kernel.php create mode 100644 app/Http/Middleware/Authenticate.php create mode 100644 app/Http/Middleware/EncryptCookies.php create mode 100644 app/Http/Middleware/PreventRequestsDuringMaintenance.php create mode 100644 app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 app/Http/Middleware/TrimStrings.php create mode 100644 app/Http/Middleware/TrustHosts.php create mode 100644 app/Http/Middleware/TrustProxies.php create mode 100644 app/Http/Middleware/ValidateSignature.php create mode 100644 app/Http/Middleware/VerifyCsrfToken.php create mode 100644 app/Imports/ImportData.php create mode 100644 app/Models/DataDBD.php create mode 100644 app/Models/Kecamatan.php create mode 100644 app/Models/User.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100644 app/Providers/AuthServiceProvider.php create mode 100644 app/Providers/BroadcastServiceProvider.php create mode 100644 app/Providers/EventServiceProvider.php create mode 100644 app/Providers/RouteServiceProvider.php create mode 100644 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/app.php create mode 100644 config/auth.php create mode 100644 config/broadcasting.php create mode 100644 config/cache.php create mode 100644 config/cors.php create mode 100644 config/database.php create mode 100644 config/excel.php create mode 100644 config/filesystems.php create mode 100644 config/hashing.php create mode 100644 config/larapex-charts.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/queue.php create mode 100644 config/sanctum.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 config/view.php create mode 100644 database/.gitignore create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php create mode 100644 database/migrations/2019_08_19_000000_create_failed_jobs_table.php create mode 100644 database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php create mode 100644 database/migrations/2024_05_19_093551_create_kecamatan_table.php create mode 100644 database/migrations/2024_05_19_093756_create_data_bdb_table.php create mode 100644 database/seeders/DatabaseSeeder.php create mode 100644 package.json create mode 100644 phpunit.xml create mode 100644 public/.htaccess create mode 100644 public/css/sb-admin-2.css create mode 100644 public/css/sb-admin-2.min.css create mode 100644 public/favicon.ico create mode 100644 public/img/banyuwangi.png create mode 100644 public/img/undraw_posting_photo.svg create mode 100644 public/img/undraw_profile.svg create mode 100644 public/img/undraw_profile_1.svg create mode 100644 public/img/undraw_profile_2.svg create mode 100644 public/img/undraw_profile_3.svg create mode 100644 public/img/undraw_rocket.svg create mode 100644 public/index.php create mode 100644 public/js/demo/chart-area-demo.js create mode 100644 public/js/demo/chart-bar-demo.js create mode 100644 public/js/demo/chart-pie-demo.js create mode 100644 public/js/demo/datatables-demo.js create mode 100644 public/js/sb-admin-2.js create mode 100644 public/js/sb-admin-2.min.js create mode 100644 public/robots.txt create mode 100644 public/scss/_buttons.scss create mode 100644 public/scss/_cards.scss create mode 100644 public/scss/_charts.scss create mode 100644 public/scss/_dropdowns.scss create mode 100644 public/scss/_error.scss create mode 100644 public/scss/_footer.scss create mode 100644 public/scss/_global.scss create mode 100644 public/scss/_login.scss create mode 100644 public/scss/_mixins.scss create mode 100644 public/scss/_navs.scss create mode 100644 public/scss/_utilities.scss create mode 100644 public/scss/_variables.scss create mode 100644 public/scss/navs/_global.scss create mode 100644 public/scss/navs/_sidebar.scss create mode 100644 public/scss/navs/_topbar.scss create mode 100644 public/scss/sb-admin-2.scss create mode 100644 public/scss/utilities/_animation.scss create mode 100644 public/scss/utilities/_background.scss create mode 100644 public/scss/utilities/_border.scss create mode 100644 public/scss/utilities/_display.scss create mode 100644 public/scss/utilities/_progress.scss create mode 100644 public/scss/utilities/_rotate.scss create mode 100644 public/scss/utilities/_text.scss create mode 100644 public/vendor/bootstrap/js/bootstrap.bundle.js create mode 100644 public/vendor/bootstrap/js/bootstrap.bundle.js.map create mode 100644 public/vendor/bootstrap/js/bootstrap.bundle.min.js create mode 100644 public/vendor/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 public/vendor/bootstrap/js/bootstrap.js create mode 100644 public/vendor/bootstrap/js/bootstrap.js.map create mode 100644 public/vendor/bootstrap/js/bootstrap.min.js create mode 100644 public/vendor/bootstrap/js/bootstrap.min.js.map create mode 100644 public/vendor/bootstrap/scss/_alert.scss create mode 100644 public/vendor/bootstrap/scss/_badge.scss create mode 100644 public/vendor/bootstrap/scss/_breadcrumb.scss create mode 100644 public/vendor/bootstrap/scss/_button-group.scss create mode 100644 public/vendor/bootstrap/scss/_buttons.scss create mode 100644 public/vendor/bootstrap/scss/_card.scss create mode 100644 public/vendor/bootstrap/scss/_carousel.scss create mode 100644 public/vendor/bootstrap/scss/_close.scss create mode 100644 public/vendor/bootstrap/scss/_code.scss create mode 100644 public/vendor/bootstrap/scss/_custom-forms.scss create mode 100644 public/vendor/bootstrap/scss/_dropdown.scss create mode 100644 public/vendor/bootstrap/scss/_forms.scss create mode 100644 public/vendor/bootstrap/scss/_functions.scss create mode 100644 public/vendor/bootstrap/scss/_grid.scss create mode 100644 public/vendor/bootstrap/scss/_images.scss create mode 100644 public/vendor/bootstrap/scss/_input-group.scss create mode 100644 public/vendor/bootstrap/scss/_jumbotron.scss create mode 100644 public/vendor/bootstrap/scss/_list-group.scss create mode 100644 public/vendor/bootstrap/scss/_media.scss create mode 100644 public/vendor/bootstrap/scss/_mixins.scss create mode 100644 public/vendor/bootstrap/scss/_modal.scss create mode 100644 public/vendor/bootstrap/scss/_nav.scss create mode 100644 public/vendor/bootstrap/scss/_navbar.scss create mode 100644 public/vendor/bootstrap/scss/_pagination.scss create mode 100644 public/vendor/bootstrap/scss/_popover.scss create mode 100644 public/vendor/bootstrap/scss/_print.scss create mode 100644 public/vendor/bootstrap/scss/_progress.scss create mode 100644 public/vendor/bootstrap/scss/_reboot.scss create mode 100644 public/vendor/bootstrap/scss/_root.scss create mode 100644 public/vendor/bootstrap/scss/_spinners.scss create mode 100644 public/vendor/bootstrap/scss/_tables.scss create mode 100644 public/vendor/bootstrap/scss/_toasts.scss create mode 100644 public/vendor/bootstrap/scss/_tooltip.scss create mode 100644 public/vendor/bootstrap/scss/_transitions.scss create mode 100644 public/vendor/bootstrap/scss/_type.scss create mode 100644 public/vendor/bootstrap/scss/_utilities.scss create mode 100644 public/vendor/bootstrap/scss/_variables.scss create mode 100644 public/vendor/bootstrap/scss/bootstrap-grid.scss create mode 100644 public/vendor/bootstrap/scss/bootstrap-reboot.scss create mode 100644 public/vendor/bootstrap/scss/bootstrap.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_alert.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_background-variant.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_badge.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_border-radius.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_box-shadow.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_breakpoints.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_buttons.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_caret.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_clearfix.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_deprecate.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_float.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_forms.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_gradients.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_grid-framework.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_grid.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_hover.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_image.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_list-group.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_lists.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_nav-divider.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_pagination.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_reset-text.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_resize.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_screen-reader.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_size.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_table-row.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_text-emphasis.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_text-hide.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_text-truncate.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_transition.scss create mode 100644 public/vendor/bootstrap/scss/mixins/_visibility.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_align.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_background.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_borders.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_clearfix.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_display.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_embed.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_flex.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_float.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_interactions.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_overflow.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_position.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_screenreaders.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_shadows.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_sizing.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_spacing.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_stretched-link.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_text.scss create mode 100644 public/vendor/bootstrap/scss/utilities/_visibility.scss create mode 100644 public/vendor/bootstrap/scss/vendor/_rfs.scss create mode 100644 public/vendor/chart.js/Chart.bundle.js create mode 100644 public/vendor/chart.js/Chart.bundle.min.js create mode 100644 public/vendor/chart.js/Chart.js create mode 100644 public/vendor/chart.js/Chart.min.js create mode 100644 public/vendor/datatables/dataTables.bootstrap4.css create mode 100644 public/vendor/datatables/dataTables.bootstrap4.js create mode 100644 public/vendor/datatables/dataTables.bootstrap4.min.css create mode 100644 public/vendor/datatables/dataTables.bootstrap4.min.js create mode 100644 public/vendor/datatables/jquery.dataTables.js create mode 100644 public/vendor/datatables/jquery.dataTables.min.js create mode 100644 public/vendor/fontawesome-free/LICENSE.txt create mode 100644 public/vendor/fontawesome-free/attribution.js create mode 100644 public/vendor/fontawesome-free/css/all.css create mode 100644 public/vendor/fontawesome-free/css/all.min.css create mode 100644 public/vendor/fontawesome-free/css/brands.css create mode 100644 public/vendor/fontawesome-free/css/brands.min.css create mode 100644 public/vendor/fontawesome-free/css/fontawesome.css create mode 100644 public/vendor/fontawesome-free/css/fontawesome.min.css create mode 100644 public/vendor/fontawesome-free/css/regular.css create mode 100644 public/vendor/fontawesome-free/css/regular.min.css create mode 100644 public/vendor/fontawesome-free/css/solid.css create mode 100644 public/vendor/fontawesome-free/css/solid.min.css create mode 100644 public/vendor/fontawesome-free/css/svg-with-js.css create mode 100644 public/vendor/fontawesome-free/css/svg-with-js.min.css create mode 100644 public/vendor/fontawesome-free/css/v4-shims.css create mode 100644 public/vendor/fontawesome-free/css/v4-shims.min.css create mode 100644 public/vendor/fontawesome-free/js/all.js create mode 100644 public/vendor/fontawesome-free/js/all.min.js create mode 100644 public/vendor/fontawesome-free/js/brands.js create mode 100644 public/vendor/fontawesome-free/js/brands.min.js create mode 100644 public/vendor/fontawesome-free/js/conflict-detection.js create mode 100644 public/vendor/fontawesome-free/js/conflict-detection.min.js create mode 100644 public/vendor/fontawesome-free/js/fontawesome.js create mode 100644 public/vendor/fontawesome-free/js/fontawesome.min.js create mode 100644 public/vendor/fontawesome-free/js/regular.js create mode 100644 public/vendor/fontawesome-free/js/regular.min.js create mode 100644 public/vendor/fontawesome-free/js/solid.js create mode 100644 public/vendor/fontawesome-free/js/solid.min.js create mode 100644 public/vendor/fontawesome-free/js/v4-shims.js create mode 100644 public/vendor/fontawesome-free/js/v4-shims.min.js create mode 100644 public/vendor/fontawesome-free/less/_animated.less create mode 100644 public/vendor/fontawesome-free/less/_bordered-pulled.less create mode 100644 public/vendor/fontawesome-free/less/_core.less create mode 100644 public/vendor/fontawesome-free/less/_fixed-width.less create mode 100644 public/vendor/fontawesome-free/less/_icons.less create mode 100644 public/vendor/fontawesome-free/less/_larger.less create mode 100644 public/vendor/fontawesome-free/less/_list.less create mode 100644 public/vendor/fontawesome-free/less/_mixins.less create mode 100644 public/vendor/fontawesome-free/less/_rotated-flipped.less create mode 100644 public/vendor/fontawesome-free/less/_screen-reader.less create mode 100644 public/vendor/fontawesome-free/less/_shims.less create mode 100644 public/vendor/fontawesome-free/less/_stacked.less create mode 100644 public/vendor/fontawesome-free/less/_variables.less create mode 100644 public/vendor/fontawesome-free/less/brands.less create mode 100644 public/vendor/fontawesome-free/less/fontawesome.less create mode 100644 public/vendor/fontawesome-free/less/regular.less create mode 100644 public/vendor/fontawesome-free/less/solid.less create mode 100644 public/vendor/fontawesome-free/less/v4-shims.less create mode 100644 public/vendor/fontawesome-free/metadata/categories.yml create mode 100644 public/vendor/fontawesome-free/metadata/icons.yml create mode 100644 public/vendor/fontawesome-free/metadata/shims.yml create mode 100644 public/vendor/fontawesome-free/metadata/sponsors.yml create mode 100644 public/vendor/fontawesome-free/package.json create mode 100644 public/vendor/fontawesome-free/scss/_animated.scss create mode 100644 public/vendor/fontawesome-free/scss/_bordered-pulled.scss create mode 100644 public/vendor/fontawesome-free/scss/_core.scss create mode 100644 public/vendor/fontawesome-free/scss/_fixed-width.scss create mode 100644 public/vendor/fontawesome-free/scss/_icons.scss create mode 100644 public/vendor/fontawesome-free/scss/_larger.scss create mode 100644 public/vendor/fontawesome-free/scss/_list.scss create mode 100644 public/vendor/fontawesome-free/scss/_mixins.scss create mode 100644 public/vendor/fontawesome-free/scss/_rotated-flipped.scss create mode 100644 public/vendor/fontawesome-free/scss/_screen-reader.scss create mode 100644 public/vendor/fontawesome-free/scss/_shims.scss create mode 100644 public/vendor/fontawesome-free/scss/_stacked.scss create mode 100644 public/vendor/fontawesome-free/scss/_variables.scss create mode 100644 public/vendor/fontawesome-free/scss/brands.scss create mode 100644 public/vendor/fontawesome-free/scss/fontawesome.scss create mode 100644 public/vendor/fontawesome-free/scss/regular.scss create mode 100644 public/vendor/fontawesome-free/scss/solid.scss create mode 100644 public/vendor/fontawesome-free/scss/v4-shims.scss create mode 100644 public/vendor/fontawesome-free/sprites/brands.svg create mode 100644 public/vendor/fontawesome-free/sprites/regular.svg create mode 100644 public/vendor/fontawesome-free/sprites/solid.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/500px.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/accessible-icon.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/accusoft.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/acquisitions-incorporated.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/adn.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/adversal.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/affiliatetheme.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/airbnb.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/algolia.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/alipay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/amazon-pay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/amazon.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/amilia.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/android.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/angellist.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/angrycreative.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/angular.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/app-store-ios.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/app-store.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/apper.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/apple-pay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/apple.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/artstation.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/asymmetrik.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/atlassian.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/audible.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/autoprefixer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/avianex.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/aviato.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/aws.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bandcamp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/battle-net.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/behance-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/behance.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bimobject.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bitbucket.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bitcoin.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bity.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/black-tie.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/blackberry.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/blogger-b.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/blogger.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bluetooth-b.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bluetooth.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/bootstrap.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/btc.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/buffer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/buromobelexperte.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/buy-n-large.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/buysellads.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/canadian-maple-leaf.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-amazon-pay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-amex.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-apple-pay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-diners-club.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-discover.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-jcb.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-mastercard.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-paypal.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-stripe.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cc-visa.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/centercode.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/centos.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/chrome.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/chromecast.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cloudflare.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cloudscale.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cloudsmith.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cloudversify.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/codepen.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/codiepie.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/confluence.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/connectdevelop.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/contao.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cotton-bureau.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cpanel.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-by.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-nc-eu.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-nc-jp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-nc.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-nd.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-pd-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-pd.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-remix.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-sa.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-sampling-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-sampling.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-share.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons-zero.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/creative-commons.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/critical-role.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/css3-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/css3.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/cuttlefish.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/d-and-d-beyond.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/d-and-d.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dailymotion.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dashcube.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/deezer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/delicious.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/deploydog.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/deskpro.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dev.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/deviantart.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dhl.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/diaspora.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/digg.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/digital-ocean.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/discord.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/discourse.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dochub.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/docker.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/draft2digital.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dribbble-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dribbble.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dropbox.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/drupal.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/dyalog.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/earlybirds.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ebay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/edge-legacy.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/edge.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/elementor.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ello.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ember.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/empire.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/envira.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/erlang.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ethereum.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/etsy.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/evernote.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/expeditedssl.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/facebook-f.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/facebook-messenger.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/facebook-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/facebook.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fantasy-flight-games.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fedex.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fedora.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/figma.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/firefox-browser.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/firefox.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/first-order-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/first-order.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/firstdraft.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/flickr.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/flipboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fly.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/font-awesome-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/font-awesome-flag.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/font-awesome-logo-full.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/font-awesome.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fonticons-fi.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fonticons.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fort-awesome-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fort-awesome.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/forumbee.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/foursquare.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/free-code-camp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/freebsd.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/fulcrum.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/galactic-republic.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/galactic-senate.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/get-pocket.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gg-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gg.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/git-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/git-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/git.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/github-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/github-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/github.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gitkraken.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gitlab.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gitter.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/glide-g.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/glide.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gofore.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/goodreads-g.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/goodreads.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-drive.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-pay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-play.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-plus-g.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-plus-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google-wallet.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/google.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gratipay.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/grav.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gripfire.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/grunt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/guilded.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/gulp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hacker-news-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hacker-news.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hackerrank.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hips.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hire-a-helper.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hive.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hooli.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hornbill.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hotjar.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/houzz.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/html5.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/hubspot.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ideal.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/imdb.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/innosoft.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/instagram-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/instagram.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/instalod.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/intercom.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/internet-explorer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/invision.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ioxhost.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/itch-io.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/itunes-note.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/itunes.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/java.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/jedi-order.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/jenkins.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/jira.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/joget.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/joomla.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/js-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/js.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/jsfiddle.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/kaggle.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/keybase.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/keycdn.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/kickstarter-k.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/kickstarter.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/korvue.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/laravel.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/lastfm-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/lastfm.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/leanpub.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/less.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/line.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/linkedin-in.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/linkedin.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/linode.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/linux.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/lyft.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/magento.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mailchimp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mandalorian.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/markdown.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mastodon.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/maxcdn.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mdb.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/medapps.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/medium-m.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/medium.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/medrt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/meetup.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/megaport.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mendeley.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/microblog.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/microsoft.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mix.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mixcloud.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mixer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/mizuni.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/modx.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/monero.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/napster.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/neos.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/nimblr.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/node-js.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/node.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/npm.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ns8.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/nutritionix.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/octopus-deploy.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/odnoklassniki-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/odnoklassniki.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/old-republic.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/opencart.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/openid.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/opera.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/optin-monster.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/orcid.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/osi.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/page4.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pagelines.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/palfed.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/patreon.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/paypal.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/penny-arcade.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/perbyte.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/periscope.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/phabricator.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/phoenix-framework.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/phoenix-squadron.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/php.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pied-piper-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pied-piper-hat.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pied-piper-pp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pied-piper-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pied-piper.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pinterest-p.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pinterest-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pinterest.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/playstation.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/product-hunt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/pushed.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/python.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/qq.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/quinscape.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/quora.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/r-project.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/raspberry-pi.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ravelry.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/react.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/reacteurope.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/readme.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/rebel.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/red-river.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/reddit-alien.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/reddit-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/reddit.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/redhat.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/renren.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/replyd.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/researchgate.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/resolving.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/rev.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/rocketchat.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/rockrms.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/rust.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/safari.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/salesforce.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sass.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/schlix.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/scribd.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/searchengin.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sellcast.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sellsy.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/servicestack.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/shirtsinbulk.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/shopify.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/shopware.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/simplybuilt.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sistrix.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sith.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sketch.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/skyatlas.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/skype.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/slack-hash.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/slack.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/slideshare.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/snapchat-ghost.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/snapchat-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/snapchat.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/soundcloud.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sourcetree.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/speakap.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/speaker-deck.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/spotify.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/squarespace.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stack-exchange.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stack-overflow.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stackpath.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/staylinked.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/steam-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/steam-symbol.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/steam.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/sticker-mule.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/strava.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stripe-s.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stripe.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/studiovinari.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stumbleupon-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/stumbleupon.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/superpowers.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/supple.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/suse.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/swift.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/symfony.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/teamspeak.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/telegram-plane.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/telegram.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/tencent-weibo.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/the-red-yeti.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/themeco.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/themeisle.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/think-peaks.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/tiktok.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/trade-federation.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/trello.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/tripadvisor.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/tumblr-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/tumblr.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/twitch.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/twitter-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/twitter.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/typo3.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/uber.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ubuntu.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/uikit.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/umbraco.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/uncharted.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/uniregistry.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/unity.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/unsplash.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/untappd.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ups.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/usb.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/usps.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/ussunnah.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vaadin.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/viacoin.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/viadeo-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/viadeo.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/viber.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vimeo-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vimeo-v.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vimeo.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vine.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vk.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vnv.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/vuejs.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/watchman-monitoring.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/waze.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/weebly.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/weibo.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/weixin.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/whatsapp-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/whatsapp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/whmcs.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wikipedia-w.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/windows.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wix.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wizards-of-the-coast.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wodu.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wolf-pack-battalion.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wordpress-simple.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wordpress.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wpbeginner.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wpexplorer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wpforms.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/wpressr.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/xbox.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/xing-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/xing.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/y-combinator.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yahoo.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yammer.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yandex-international.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yandex.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yarn.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yelp.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/yoast.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/youtube-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/youtube.svg create mode 100644 public/vendor/fontawesome-free/svgs/brands/zhihu.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/address-book.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/address-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/angry.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/bell-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/bell.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/bookmark.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/building.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/calendar-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/calendar-check.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/calendar-minus.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/calendar-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/calendar-times.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/calendar.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/caret-square-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/caret-square-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/caret-square-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/caret-square-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/chart-bar.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/check-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/check-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/clipboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/clock.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/clone.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/closed-captioning.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/comment-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/comment-dots.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/comment.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/comments.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/compass.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/copy.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/copyright.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/credit-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/dizzy.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/dot-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/edit.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/envelope-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/envelope.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/eye-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/eye.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-archive.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-audio.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-code.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-excel.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-image.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-pdf.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-powerpoint.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-video.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file-word.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/file.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/flag.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/flushed.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/folder-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/folder.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/font-awesome-logo-full.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/frown-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/frown.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/futbol.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/gem.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grimace.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-beam-sweat.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-hearts.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-squint-tears.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-squint.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-stars.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-tears.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-tongue-squint.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-tongue-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-tongue.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/grin.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-lizard.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-paper.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-peace.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-point-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-point-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-point-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-point-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-pointer.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-rock.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-scissors.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hand-spock.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/handshake.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hdd.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/heart.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hospital.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/hourglass.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/id-badge.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/id-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/image.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/images.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/keyboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/kiss-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/kiss-wink-heart.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/kiss.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/laugh-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/laugh-squint.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/laugh-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/laugh.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/lemon.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/life-ring.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/lightbulb.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/list-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/map.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/meh-blank.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/meh-rolling-eyes.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/meh.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/minus-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/money-bill-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/moon.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/newspaper.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/object-group.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/object-ungroup.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/paper-plane.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/pause-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/play-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/plus-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/question-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/registered.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/sad-cry.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/sad-tear.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/save.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/share-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/smile-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/smile-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/smile.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/snowflake.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/square.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/star-half.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/star.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/sticky-note.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/stop-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/sun.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/surprise.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/thumbs-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/thumbs-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/times-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/tired.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/trash-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/user-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/user.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/window-close.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/window-maximize.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/window-minimize.svg create mode 100644 public/vendor/fontawesome-free/svgs/regular/window-restore.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ad.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/address-book.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/address-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/adjust.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/air-freshener.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/align-center.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/align-justify.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/align-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/align-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/allergies.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ambulance.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/american-sign-language-interpreting.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/anchor.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-double-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-double-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-double-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-double-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angle-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/angry.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ankh.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/apple-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/archive.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/archway.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-circle-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-circle-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-circle-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-circle-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrow-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrows-alt-h.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrows-alt-v.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/arrows-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/assistive-listening-systems.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/asterisk.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/at.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/atlas.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/atom.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/audio-description.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/award.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/baby-carriage.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/baby.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/backspace.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/backward.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bacon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bacteria.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bacterium.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bahai.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/balance-scale-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/balance-scale-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/balance-scale.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ban.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/band-aid.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/barcode.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bars.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/baseball-ball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/basketball-ball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bath.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/battery-empty.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/battery-full.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/battery-half.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/battery-quarter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/battery-three-quarters.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bed.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/beer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bell-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bell.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bezier-curve.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bible.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bicycle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/biking.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/binoculars.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/biohazard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/birthday-cake.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/blender-phone.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/blender.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/blind.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/blog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bold.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bolt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bomb.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bone.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bong.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/book-dead.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/book-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/book-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/book-reader.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/book.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bookmark.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/border-all.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/border-none.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/border-style.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bowling-ball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/box-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/box-tissue.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/box.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/boxes.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/braille.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/brain.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bread-slice.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/briefcase-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/briefcase.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/broadcast-tower.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/broom.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/brush.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bug.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/building.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bullhorn.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bullseye.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/burn.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bus-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/bus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/business-time.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calculator.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-check.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-day.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-minus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-times.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar-week.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/calendar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/camera-retro.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/camera.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/campground.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/candy-cane.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cannabis.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/capsules.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/car-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/car-battery.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/car-crash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/car-side.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/car.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caravan.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-square-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-square-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-square-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-square-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/caret-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/carrot.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cart-arrow-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cart-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cash-register.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cat.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/certificate.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chair.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chalkboard-teacher.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chalkboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/charging-station.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chart-area.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chart-bar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chart-line.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chart-pie.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/check-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/check-double.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/check-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/check.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cheese.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-bishop.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-board.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-king.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-knight.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-pawn.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-queen.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess-rook.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chess.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-circle-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-circle-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-circle-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-circle-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/chevron-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/child.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/church.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/circle-notch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/city.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/clinic-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/clipboard-check.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/clipboard-list.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/clipboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/clock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/clone.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/closed-captioning.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-download-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-meatball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-moon-rain.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-moon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-rain.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-showers-heavy.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-sun-rain.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-sun.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud-upload-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cloud.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cocktail.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/code-branch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/code.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/coffee.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cogs.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/coins.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/columns.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comment-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comment-dollar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comment-dots.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comment-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comment-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comment.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comments-dollar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/comments.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/compact-disc.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/compass.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/compress-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/compress-arrows-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/compress.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/concierge-bell.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cookie-bite.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cookie.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/copy.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/copyright.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/couch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/credit-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/crop-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/crop.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cross.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/crosshairs.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/crow.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/crown.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/crutch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cube.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cubes.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/cut.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/database.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/deaf.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/democrat.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/desktop.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dharmachakra.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/diagnoses.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-d20.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-d6.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-five.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-four.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-one.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-six.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-three.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice-two.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dice.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/digital-tachograph.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/directions.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/disease.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/divide.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dizzy.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dna.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dollar-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dolly-flatbed.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dolly.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/donate.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/door-closed.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/door-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dot-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dove.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/download.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/drafting-compass.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dragon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/draw-polygon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/drum-steelpan.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/drum.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/drumstick-bite.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dumbbell.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dumpster-fire.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dumpster.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/dungeon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/edit.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/egg.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/eject.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ellipsis-h.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ellipsis-v.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/envelope-open-text.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/envelope-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/envelope-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/envelope.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/equals.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/eraser.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ethernet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/euro-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/exchange-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/exclamation-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/exclamation-triangle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/exclamation.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/expand-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/expand-arrows-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/expand.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/external-link-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/external-link-square-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/eye-dropper.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/eye-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/eye.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fan.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fast-backward.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fast-forward.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/faucet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fax.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/feather-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/feather.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/female.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fighter-jet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-archive.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-audio.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-code.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-contract.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-csv.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-download.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-excel.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-export.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-image.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-import.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-invoice-dollar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-invoice.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-medical-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-pdf.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-powerpoint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-prescription.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-signature.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-upload.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-video.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file-word.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/file.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fill-drip.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fill.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/film.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/filter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fingerprint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fire-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fire-extinguisher.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fire.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/first-aid.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fish.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/fist-raised.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/flag-checkered.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/flag-usa.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/flag.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/flask.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/flushed.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/folder-minus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/folder-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/folder-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/folder.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/font-awesome-logo-full.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/font.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/football-ball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/forward.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/frog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/frown-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/frown.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/funnel-dollar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/futbol.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gamepad.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gas-pump.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gavel.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gem.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/genderless.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ghost.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gift.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gifts.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/glass-cheers.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/glass-martini-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/glass-martini.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/glass-whiskey.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/glasses.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/globe-africa.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/globe-americas.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/globe-asia.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/globe-europe.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/globe.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/golf-ball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/gopuram.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/graduation-cap.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/greater-than-equal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/greater-than.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grimace.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-beam-sweat.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-hearts.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-squint-tears.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-squint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-stars.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-tears.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-tongue-squint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-tongue-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-tongue.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grin.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grip-horizontal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grip-lines-vertical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grip-lines.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/grip-vertical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/guitar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/h-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hamburger.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hammer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hamsa.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-holding-heart.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-holding-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-holding-usd.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-holding-water.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-holding.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-lizard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-middle-finger.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-paper.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-peace.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-point-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-point-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-point-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-point-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-pointer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-rock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-scissors.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-sparkles.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hand-spock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hands-helping.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hands-wash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hands.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/handshake-alt-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/handshake-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/handshake.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hanukiah.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hard-hat.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hashtag.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hat-cowboy-side.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hat-cowboy.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hat-wizard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hdd.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/head-side-cough-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/head-side-cough.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/head-side-mask.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/head-side-virus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/heading.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/headphones-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/headphones.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/headset.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/heart-broken.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/heart.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/heartbeat.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/helicopter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/highlighter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hiking.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hippo.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/history.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hockey-puck.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/holly-berry.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/home.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/horse-head.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/horse.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hospital-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hospital-symbol.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hospital-user.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hospital.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hot-tub.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hotdog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hotel.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hourglass-end.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hourglass-half.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hourglass-start.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hourglass.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/house-damage.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/house-user.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/hryvnia.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/i-cursor.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ice-cream.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/icicles.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/icons.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/id-badge.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/id-card-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/id-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/igloo.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/image.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/images.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/inbox.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/indent.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/industry.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/infinity.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/info-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/info.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/italic.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/jedi.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/joint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/journal-whills.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/kaaba.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/key.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/keyboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/khanda.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/kiss-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/kiss-wink-heart.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/kiss.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/kiwi-bird.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/landmark.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/language.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laptop-code.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laptop-house.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laptop-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laptop.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laugh-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laugh-squint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laugh-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/laugh.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/layer-group.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/leaf.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lemon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/less-than-equal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/less-than.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/level-down-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/level-up-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/life-ring.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lightbulb.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/link.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lira-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/list-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/list-ol.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/list-ul.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/list.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/location-arrow.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lock-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/long-arrow-alt-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/long-arrow-alt-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/long-arrow-alt-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/long-arrow-alt-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/low-vision.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/luggage-cart.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lungs-virus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/lungs.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/magic.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/magnet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mail-bulk.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/male.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map-marked-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map-marked.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map-marker-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map-marker.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map-pin.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map-signs.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/map.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/marker.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mars-double.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mars-stroke-h.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mars-stroke-v.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mars-stroke.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mars.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mask.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/medal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/medkit.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/meh-blank.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/meh-rolling-eyes.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/meh.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/memory.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/menorah.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mercury.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/meteor.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/microchip.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/microphone-alt-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/microphone-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/microphone-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/microphone.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/microscope.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/minus-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/minus-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/minus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mitten.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mobile-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mobile.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/money-bill-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/money-bill-wave-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/money-bill-wave.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/money-bill.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/money-check-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/money-check.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/monument.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/moon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mortar-pestle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mosque.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/motorcycle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mountain.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mouse-pointer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mouse.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/mug-hot.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/music.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/network-wired.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/neuter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/newspaper.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/not-equal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/notes-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/object-group.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/object-ungroup.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/oil-can.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/om.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/otter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/outdent.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pager.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paint-brush.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paint-roller.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/palette.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pallet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paper-plane.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paperclip.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/parachute-box.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paragraph.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/parking.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/passport.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pastafarianism.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paste.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pause-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pause.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/paw.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/peace.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pen-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pen-fancy.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pen-nib.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pen-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pen.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pencil-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pencil-ruler.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/people-arrows.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/people-carry.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pepper-hot.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/percent.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/percentage.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/person-booth.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/phone-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/phone-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/phone-square-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/phone-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/phone-volume.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/phone.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/photo-video.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/piggy-bank.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pills.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pizza-slice.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/place-of-worship.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plane-arrival.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plane-departure.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plane-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plane.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/play-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/play.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plug.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plus-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plus-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/podcast.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/poll-h.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/poll.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/poo-storm.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/poo.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/poop.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/portrait.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pound-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/power-off.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pray.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/praying-hands.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/prescription-bottle-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/prescription-bottle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/prescription.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/print.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/procedures.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/project-diagram.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pump-medical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/pump-soap.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/puzzle-piece.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/qrcode.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/question-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/question.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/quidditch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/quote-left.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/quote-right.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/quran.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/radiation-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/radiation.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/rainbow.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/random.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/receipt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/record-vinyl.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/recycle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/redo-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/redo.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/registered.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/remove-format.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/reply-all.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/reply.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/republican.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/restroom.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/retweet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ribbon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ring.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/road.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/robot.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/rocket.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/route.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/rss-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/rss.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ruble-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ruler-combined.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ruler-horizontal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ruler-vertical.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ruler.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/running.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/rupee-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sad-cry.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sad-tear.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/satellite-dish.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/satellite.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/save.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/school.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/screwdriver.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/scroll.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sd-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/search-dollar.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/search-location.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/search-minus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/search-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/search.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/seedling.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/server.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shapes.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/share-alt-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/share-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/share-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/share.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shekel-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shield-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shield-virus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ship.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shipping-fast.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shoe-prints.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shopping-bag.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shopping-basket.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shopping-cart.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shower.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/shuttle-van.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sign-in-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sign-language.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sign-out-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/signal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/signature.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sim-card.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sink.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sitemap.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/skating.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/skiing-nordic.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/skiing.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/skull-crossbones.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/skull.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sleigh.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sliders-h.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/smile-beam.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/smile-wink.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/smile.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/smog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/smoking-ban.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/smoking.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sms.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/snowboarding.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/snowflake.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/snowman.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/snowplow.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/soap.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/socks.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/solar-panel.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-alpha-down-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-alpha-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-alpha-up-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-alpha-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-amount-down-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-amount-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-amount-up-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-amount-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-numeric-down-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-numeric-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-numeric-up-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-numeric-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sort.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/spa.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/space-shuttle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/spell-check.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/spider.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/spinner.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/splotch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/spray-can.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/square-full.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/square-root-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stamp.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/star-and-crescent.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/star-half-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/star-half.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/star-of-david.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/star-of-life.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/star.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/step-backward.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/step-forward.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stethoscope.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sticky-note.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stop-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stop.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stopwatch-20.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stopwatch.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/store-alt-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/store-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/store-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/store.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stream.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/street-view.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/strikethrough.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/stroopwafel.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/subscript.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/subway.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/suitcase-rolling.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/suitcase.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sun.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/superscript.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/surprise.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/swatchbook.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/swimmer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/swimming-pool.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/synagogue.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sync-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/sync.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/syringe.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/table-tennis.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/table.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tablet-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tablet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tablets.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tachometer-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tag.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tags.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tape.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tasks.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/taxi.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/teeth-open.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/teeth.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/temperature-high.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/temperature-low.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tenge.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/terminal.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/text-height.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/text-width.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/th-large.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/th-list.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/th.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/theater-masks.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thermometer-empty.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thermometer-full.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thermometer-half.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thermometer-quarter.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thermometer-three-quarters.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thermometer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thumbs-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thumbs-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/thumbtack.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/ticket-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/times-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/times.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tint-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tint.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tired.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/toggle-off.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/toggle-on.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/toilet-paper-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/toilet-paper.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/toilet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/toolbox.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tools.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tooth.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/torah.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/torii-gate.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tractor.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trademark.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/traffic-light.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trailer.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/train.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tram.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/transgender-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/transgender.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trash-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trash-restore-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trash-restore.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tree.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/trophy.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/truck-loading.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/truck-monster.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/truck-moving.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/truck-pickup.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/truck.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tshirt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tty.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/tv.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/umbrella-beach.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/umbrella.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/underline.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/undo-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/undo.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/universal-access.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/university.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/unlink.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/unlock-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/unlock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/upload.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-alt-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-astronaut.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-check.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-circle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-clock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-cog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-edit.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-friends.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-graduate.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-injured.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-lock.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-md.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-minus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-ninja.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-nurse.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-plus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-secret.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-shield.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-tag.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-tie.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user-times.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/user.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/users-cog.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/users-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/users.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/utensil-spoon.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/utensils.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vector-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/venus-double.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/venus-mars.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/venus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vest-patches.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vest.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vial.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vials.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/video-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/video.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vihara.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/virus-slash.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/virus.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/viruses.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/voicemail.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/volleyball-ball.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/volume-down.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/volume-mute.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/volume-off.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/volume-up.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vote-yea.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/vr-cardboard.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/walking.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wallet.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/warehouse.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/water.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wave-square.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/weight-hanging.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/weight.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wheelchair.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wifi.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wind.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/window-close.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/window-maximize.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/window-minimize.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/window-restore.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wine-bottle.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wine-glass-alt.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wine-glass.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/won-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/wrench.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/x-ray.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/yen-sign.svg create mode 100644 public/vendor/fontawesome-free/svgs/solid/yin-yang.svg create mode 100644 public/vendor/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 public/vendor/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 public/vendor/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 public/vendor/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 public/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 public/vendor/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 public/vendor/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 public/vendor/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 public/vendor/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 public/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 public/vendor/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 public/vendor/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 public/vendor/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 public/vendor/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 public/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 public/vendor/jquery-easing/jquery.easing.compatibility.js create mode 100644 public/vendor/jquery-easing/jquery.easing.js create mode 100644 public/vendor/jquery-easing/jquery.easing.min.js create mode 100644 public/vendor/jquery/jquery.js create mode 100644 public/vendor/jquery/jquery.min.js create mode 100644 public/vendor/jquery/jquery.min.map create mode 100644 public/vendor/jquery/jquery.slim.js create mode 100644 public/vendor/jquery/jquery.slim.min.js create mode 100644 public/vendor/jquery/jquery.slim.min.map create mode 100644 resources/css/app.css create mode 100644 resources/js/app.js create mode 100644 resources/js/bootstrap.js create mode 100644 resources/views/dashboard.blade.php create mode 100644 resources/views/data.blade.php create mode 100644 resources/views/kecamatan.blade.php create mode 100644 resources/views/kmeans/index.blade.php create mode 100644 resources/views/layouts/footer.blade.php create mode 100644 resources/views/layouts/header.blade.php create mode 100644 resources/views/layouts/master.blade.php create mode 100644 resources/views/layouts/sidebar.blade.php create mode 100644 resources/views/login.blade.php create mode 100644 resources/views/welcome.blade.php create mode 100644 routes/api.php create mode 100644 routes/channels.php create mode 100644 routes/console.php create mode 100644 routes/web.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/public/.gitignore create mode 100644 storage/framework/.gitignore create mode 100644 storage/framework/cache/.gitignore create mode 100644 storage/framework/cache/data/.gitignore create mode 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore create mode 100644 storage/framework/views/.gitignore create mode 100644 storage/logs/.gitignore create mode 100644 tests/CreatesApplication.php create mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 vite.config.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8f0de65 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..ea0665b --- /dev/null +++ b/.env.example @@ -0,0 +1,59 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +FILESYSTEM_DISK=local +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +MEMCACHED_HOST=127.0.0.1 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=mailpit +MAIL_PORT=1025 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS="hello@example.com" +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_HOST= +PUSHER_PORT=443 +PUSHER_SCHEME=https +PUSHER_APP_CLUSTER=mt1 + +VITE_APP_NAME="${APP_NAME}" +VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +VITE_PUSHER_HOST="${PUSHER_HOST}" +VITE_PUSHER_PORT="${PUSHER_PORT}" +VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" +VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fcb21d3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore +.styleci.yml export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7fe978f --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +/.phpunit.cache +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.env.production +.phpunit.result.cache +Homestead.json +Homestead.yaml +auth.json +npm-debug.log +yarn-error.log +/.fleet +/.idea +/.vscode diff --git a/README.md b/README.md new file mode 100644 index 0000000..1a4c26b --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +

Laravel Logo

+ +

+Build Status +Total Downloads +Latest Stable Version +License +

+ +## About Laravel + +Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: + +- [Simple, fast routing engine](https://laravel.com/docs/routing). +- [Powerful dependency injection container](https://laravel.com/docs/container). +- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. +- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). +- Database agnostic [schema migrations](https://laravel.com/docs/migrations). +- [Robust background job processing](https://laravel.com/docs/queues). +- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). + +Laravel is accessible, powerful, and provides tools required for large, robust applications. + +## Learning Laravel + +Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. + +You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. + +If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. + +## Laravel Sponsors + +We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). + +### Premium Partners + +- **[Vehikl](https://vehikl.com/)** +- **[Tighten Co.](https://tighten.co)** +- **[WebReinvent](https://webreinvent.com/)** +- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** +- **[64 Robots](https://64robots.com)** +- **[Curotec](https://www.curotec.com/services/technologies/laravel/)** +- **[Cyber-Duck](https://cyber-duck.co.uk)** +- **[DevSquad](https://devsquad.com/hire-laravel-developers)** +- **[Jump24](https://jump24.co.uk)** +- **[Redberry](https://redberry.international/laravel/)** +- **[Active Logic](https://activelogic.com)** +- **[byte5](https://byte5.de)** +- **[OP.GG](https://op.gg)** + +## Contributing + +Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). + +## Code of Conduct + +In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). + +## Security Vulnerabilities + +If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. + +## License + +The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/app/Charts/MonthlyDBDChart.php b/app/Charts/MonthlyDBDChart.php new file mode 100644 index 0000000..7374524 --- /dev/null +++ b/app/Charts/MonthlyDBDChart.php @@ -0,0 +1,48 @@ +chart = new LarapexChart; + $this->dataByYear = $dataByYear; + $this->year = $year; + } + + public function build(): \ArielMejiaDev\LarapexCharts\LineChart + { + $monthlyData = []; // Inisialisasi array kosong untuk data bulanan + + // Jika ada data untuk tahun tertentu + if ($this->dataByYear->isNotEmpty()) { + // Loop melalui setiap data untuk mengumpulkan jumlah kasus per bulan + foreach ($this->dataByYear as $data) { + // Jika belum ada data untuk bulan tersebut, tambahkan ke array + if (!isset($monthlyData[$data->bulan])) { + $monthlyData[$data->bulan] = $data->jumlah_kasus; + } else { + // Jika sudah ada data untuk bulan tersebut, tambahkan jumlah kasus ke data yang sudah ada + $monthlyData[$data->bulan] += $data->jumlah_kasus; + } + } + } + + // Pisahkan label bulan dan data jumlah kasus dari array asosiatif + $labels = array_keys($monthlyData); + $jumlahKasus = array_values($monthlyData); + + // Bangun chart dengan data yang dikumpulkan + return $this->chart->lineChart() + ->addData('Jumlah Kasus', $jumlahKasus) + ->setXAxis($labels) + ->setHeight(220); + } +} diff --git a/app/Charts/YearlyDBDChart.php b/app/Charts/YearlyDBDChart.php new file mode 100644 index 0000000..2ddc76e --- /dev/null +++ b/app/Charts/YearlyDBDChart.php @@ -0,0 +1,43 @@ +chart = new LarapexChart; + // $this->dataByYearAll = $dataByYearAll; + } + + public function build(): \ArielMejiaDev\LarapexCharts\PieChart +{ + $data = DataDBD::select('tahun', DB::raw('SUM(jumlah_kasus) as total_kasus')) + ->whereIn('tahun', [2019, 2020, 2021, 2022, 2023]) + ->groupBy('tahun') + ->pluck('total_kasus', 'tahun')->toArray(); + + // Buat array kosong untuk menyimpan label yang dibuat + $labels = []; + + // Loop melalui data dan gabungkan tahun dan total kasus ke dalam label + foreach ($data as $year => $totalCases) { + // Contoh: Gabungkan tahun dan total kasus ke dalam label + $labels[] = 'Tahun ' . $year . ' - ' . $totalCases; + } + + // Return chart dengan data dan label yang telah dibuat + return $this->chart->pieChart() + ->addData(array_keys($data)) + ->setLabels($labels) + ->setHeight(350); +} + +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100644 index 0000000..e6b9960 --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,27 @@ +command('inspire')->hourly(); + } + + /** + * Register the commands for the application. + */ + protected function commands(): void + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php new file mode 100644 index 0000000..56af264 --- /dev/null +++ b/app/Exceptions/Handler.php @@ -0,0 +1,30 @@ + + */ + protected $dontFlash = [ + 'current_password', + 'password', + 'password_confirmation', + ]; + + /** + * Register the exception handling callbacks for the application. + */ + public function register(): void + { + $this->reportable(function (Throwable $e) { + // + }); + } +} diff --git a/app/Exports/ClusterExport.php b/app/Exports/ClusterExport.php new file mode 100644 index 0000000..0db20ba --- /dev/null +++ b/app/Exports/ClusterExport.php @@ -0,0 +1,40 @@ +map(function ($item) { + return [ + 'id_kecamatan' => $item['id_kecamatan'], + 'nama_kecamatan' => $item['nama_kecamatan'], + 'jumlah_penduduk' => $item['jumlah_penduduk'], + 'jumlah_kasus' => $item['jumlah_kasus'], + 'cluster' => $item['cluster'], + ]; + }); + + return $formattedResults; + } + + public function headings(): array + { + return [ + 'ID Kecamatan', + 'Nama Kecamatan', + 'Jumlah Penduduk', + 'Jumlah Kasus', + 'Cluster', + ]; + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..77ec359 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,12 @@ +input('year', date('Y')); // Tahun yang dipilih oleh pengguna, default ke tahun sekarang + // $dataByYear = DataDBD::where('tahun', $selectedYear)->get(); + + // // Buat objek MonthlyDBDChart dengan memberikan data dan tahun yang dipilih + // $monthlyChart = new MonthlyDBDChart($dataByYear, $selectedYear); + + // // Bangun chart untuk jumlah kasus DBD setiap bulannya + // $monthlyChartData = $monthlyChart->build(); + + // // Ambil data jumlah kasus DBD dari database untuk setiap tahun (2019-2023) + // $dataByYearAll = DataDBD::select('tahun', DB::raw('SUM(jumlah_kasus) as total_kasus')) + // ->whereIn('tahun', [2019, 2020, 2021, 2022, 2023]) + // ->groupBy('tahun') + // ->get(); + + // // Buat objek YearlyDBDChart dengan memberikan data + // $yearlyChart = new YearlyDBDChart($dataByYearAll); + + // // Bangun chart untuk jumlah kasus DBD setiap tahunnya + // $yearlyChartData = $yearlyChart->build(); + + // // Kembalikan view dengan chart yang dibuat + // return view('dashboard', [ + // 'monthlyChart' => $monthlyChartData, + // 'yearlyChart' => $yearlyChartData, + // 'selectedYear' => $selectedYear // Sertakan tahun yang dipilih untuk menampilkan dalam formulir filter + // ]); + // } +} diff --git a/app/Http/Controllers/DataController.php b/app/Http/Controllers/DataController.php new file mode 100644 index 0000000..2cf5b73 --- /dev/null +++ b/app/Http/Controllers/DataController.php @@ -0,0 +1,54 @@ +get(); + + return view('data', compact('dataDBD')); + } + + public function import(Request $request) + { + // Validasi file yang diunggah + $request->validate([ + 'file' => 'required|file|mimes:xlsx,xls', + ]); + + // Ambil data kecamatan beserta ID-nya + $kecamatans = Kecamatan::all()->pluck('id', 'nama_kecamatan'); + + // Ambil data dari file yang diunggah + $importedData = Excel::toArray(new ImportData, $request->file('file')); + + // Loop melalui data yang diimpor + foreach ($importedData[0] as $data) { + // Cocokkan nama kecamatan dari file Excel dengan daftar nama kecamatan + if (isset($kecamatans[$data['kecamatan']])) { + $id_kecamatan = $kecamatans[$data['kecamatan']]; + + // Simpan data dengan ID kecamatan yang cocok + DataDBD::create([ + 'id_kecamatan' => $id_kecamatan, + 'tahun' => $data['tahun'], + 'bulan' => $data['bulan'], + 'jumlah_kasus' => $data['jumlah_kasus'] + ]); + } else { + // Kecamatan tidak ditemukan, lakukan penanganan yang sesuai + } + } + + return redirect()->back()->with('success', 'File Excel berhasil diunggah dan data berhasil diimpor.'); + } +} diff --git a/app/Http/Controllers/ExportController.php b/app/Http/Controllers/ExportController.php new file mode 100644 index 0000000..25f41ab --- /dev/null +++ b/app/Http/Controllers/ExportController.php @@ -0,0 +1,15 @@ +distinct()->orderBy('tahun')->pluck('tahun'); + + // Jika tidak ada tahun yang dipilih, gunakan tahun pertama yang tersedia + $selectedYear = $request->input('year', $availableYears->first()); + + // Ambil data jumlah kasus DBD dari database untuk tahun tertentu + $dataByYear = DataDBD::where('tahun', $selectedYear)->get(); + + // Buat objek MonthlyDBDChart dengan memberikan data dan tahun yang dipilih + $monthlyChart = new MonthlyDBDChart($dataByYear, $selectedYear); + + // Bangun chart untuk jumlah kasus DBD setiap bulannya + $monthlyChartData = $monthlyChart->build(); + + // // Bangun chart untuk jumlah kasus DBD setiap tahunnya + $yearlyChartData = $yearlyChart->build(); + + $clusterResults = Session::get('clusterResults'); + + // Kembalikan view dengan chart yang dibuat dan daftar tahun yang tersedia + return view('dashboard', [ + 'clusterResults' => $clusterResults, + 'monthlyChart' => $monthlyChartData, + 'yearlyChart' => $yearlyChartData, + 'selectedYear' => $selectedYear, + 'availableYears' => $availableYears // Sertakan daftar tahun yang tersedia + ]); + } + + public function index() + { + // Mengambil data dari tabel DataDBD + $data = DataDBD::all(); + $kecamatanData = Kecamatan::all()->keyBy('id')->toArray(); + + // Menggabungkan jumlah kasus dan jumlah penduduk untuk kecamatan yang sama dari semua tahun + $dataset = []; + foreach ($data as $d) { + $key = $d->id_kecamatan; + if (!isset($dataset[$key])) { + $dataset[$key] = [ + 'id_kecamatan' => $d->id_kecamatan, + 'nama_kecamatan' => $kecamatanData[$d->id_kecamatan]['nama_kecamatan'] ?? 'Unknown', + 'latitude' => $kecamatanData[$d->id_kecamatan]['latitude'] ?? null, + 'longitude' => $kecamatanData[$d->id_kecamatan]['longitude'] ?? null, + 'jumlah_penduduk' => (int) $kecamatanData[$d->id_kecamatan]['jumlah_penduduk'], + 'jumlah_kasus' => (int) $d->jumlah_kasus, + 'cases_per_capita' => (int) $d->jumlah_kasus / max((int) $kecamatanData[$d->id_kecamatan]['jumlah_penduduk'], 1) // Prevent division by zero + ]; + } else { + $dataset[$key]['jumlah_kasus'] += (int) $d->jumlah_kasus; + $dataset[$key]['cases_per_capita'] = $dataset[$key]['jumlah_kasus'] / max((int) $dataset[$key]['jumlah_penduduk'], 1); // Prevent division by zero + } + } + + // Mengubah array asosiatif menjadi array numerik + $dataset = array_values($dataset); + + // Menjalankan algoritma K-Means + $k = 3; + $result = $this->kMeans($dataset, $k); + + // Menghitung tingkat kasus berdasarkan perhitungan statistik + $caseLevels = $this->calculateCaseLevels($dataset); + + // Mengelompokkan hasil clustering berdasarkan kecamatan + $clusterResults = []; + foreach ($result['clusters'] as $clusterIndex => $cluster) { + foreach ($cluster as $datum) { + $clusterResults[$datum['id_kecamatan']] = [ + 'id_kecamatan' => $datum['id_kecamatan'], + 'nama_kecamatan' => $datum['nama_kecamatan'], + 'latitude' => $datum['latitude'], + 'longitude' => $datum['longitude'], + 'cluster' => $clusterIndex + 1, + 'cases_per_capita' => $datum['cases_per_capita'], + 'jumlah_penduduk' => $datum['jumlah_penduduk'], + 'jumlah_kasus' => $datum['jumlah_kasus'], + 'tingkat_kasus' => $caseLevels[$datum['id_kecamatan']] + ]; + } + } + + Session::put('clusterResults', $clusterResults); + + // Menampilkan hasil perhitungan K-Means + return view('kmeans.index', [ + 'steps' => $result['steps'], + 'clusterResults' => $clusterResults, + 'kecamatanData' => $kecamatanData + ]); + } + + private function calculateCaseLevels($dataset) + { + $casesPerCapita = array_column($dataset, 'cases_per_capita'); + $mean = array_sum($casesPerCapita) / count($casesPerCapita); + $stdDev = sqrt(array_sum(array_map(fn($x) => pow($x - $mean, 2), $casesPerCapita)) / count($casesPerCapita)); + + $thresholdLow = $mean - $stdDev; + $thresholdHigh = $mean + $stdDev; + + $caseLevels = []; + foreach ($dataset as $data) { + if ($data['cases_per_capita'] <= $thresholdLow) { + $caseLevels[$data['id_kecamatan']] = 'Rendah'; + } elseif ($data['cases_per_capita'] >= $thresholdHigh) { + $caseLevels[$data['id_kecamatan']] = 'Tinggi'; + } else { + $caseLevels[$data['id_kecamatan']] = 'Sedang'; + } + } + + return $caseLevels; + } + + + private function kMeans($data, $k) + { + // Inisialisasi centroids secara acak + $centroids = []; + $usedKecamatanIds = []; + // Array untuk menyimpan ID kecamatan yang sudah digunakan sebagai centroid + + for ($i = 0; $i < $k; $i++) { + // Pilih kecamatan secara acak + do { + $randomIndex = array_rand($data); + $randomKecamatanId = $data[$randomIndex]['id_kecamatan']; + } while (in_array($randomKecamatanId, $usedKecamatanIds)); + // Periksa apakah kecamatan sudah digunakan sebagai centroid sebelumnya + + // Tambahkan kecamatan ke array centroid dan array kecamatan yang sudah digunakan + $centroids[$i] = $data[$randomIndex]; + $usedKecamatanIds[] = $randomKecamatanId; + } + + $iterations = 100; + $steps = []; + for ($i = 0; $i < $iterations; $i++) { + $clusters = array_fill(0, $k, []); + + // Menempatkan setiap data ke klaster terdekat + foreach ($data as $datum) { + $distances = []; + foreach ($centroids as $centroid) { + $distances[] = $this->euclideanDistance($datum, $centroid); + } + $cluster = array_keys($distances, min($distances))[0]; + $clusters[$cluster][] = $datum; + } + + // Menyimpan langkah perhitungan + $steps[] = [ + 'iteration' => $i + 1, + 'centroids' => $centroids, + 'clusters' => $clusters + ]; + + // Menghitung centroid baru + $newCentroids = []; + foreach ($clusters as $cluster => $clusterData) { + $newCentroids[$cluster] = $this->calculateCentroid($clusterData); + } + + // Memeriksa konvergensi + if ($this->centroidsConverged($centroids, $newCentroids)) { + break; + } + + // Memperbarui centroid untuk iterasi berikutnya + $centroids = $newCentroids; + } + + return ['clusters' => $clusters, 'steps' => $steps]; + } + + private function euclideanDistance($datum1, $datum2) + { + return sqrt( + pow($datum1['jumlah_penduduk'] - $datum2['jumlah_penduduk'], 2) + + pow($datum1['jumlah_kasus'] - $datum2['jumlah_kasus'], 2) + ); + } + + private function calculateCentroid($clusterData) + { + $centroid = [ + 'id_kecamatan' => null, + 'nama_kecamatan' => '', + 'jumlah_penduduk' => 0, + 'jumlah_kasus' => 0 + ]; + $count = count($clusterData); + + // Pastikan jumlah data tidak nol sebelum melakukan pembagian + if ($count > 0) { + foreach ($clusterData as $data) { + $centroid['jumlah_penduduk'] += (int) $data['jumlah_penduduk']; + $centroid['jumlah_kasus'] += (int) $data['jumlah_kasus']; + } + + $centroid['jumlah_penduduk'] /= $count; + $centroid['jumlah_kasus'] /= $count; + + // Mengatur id_kecamatan dari salah satu data terdekat ke centroid baru + $closestDatum = $this->getClosestDatum($centroid, $clusterData); + $centroid['id_kecamatan'] = $closestDatum['id_kecamatan']; + $centroid['nama_kecamatan'] = $closestDatum['nama_kecamatan']; + } + + return $centroid; + } + + private function getClosestDatum($centroid, $clusterData) + { + $minDistance = PHP_FLOAT_MAX; + $closestDatum = null; + + foreach ($clusterData as $datum) { + $distance = $this->euclideanDistance($centroid, $datum); + if ($distance < $minDistance) { + $minDistance = $distance; + $closestDatum = $datum; + } + } + + return $closestDatum; + } + + private function centroidsConverged($centroids, $newCentroids) + { + foreach ($centroids as $key => $centroid) { + if ($this->euclideanDistance($centroid, $newCentroids[$key]) > 0.0001) { + return false; + } + } + return true; + } +} diff --git a/app/Http/Controllers/KecamatanController.php b/app/Http/Controllers/KecamatanController.php new file mode 100644 index 0000000..0db9c19 --- /dev/null +++ b/app/Http/Controllers/KecamatanController.php @@ -0,0 +1,79 @@ +validate([ + 'nama_kecamatan' => 'required|string|max:255', + 'jumlah_penduduk' => 'required|numeric', + 'longitude' => 'required|numeric', + 'latitude' => 'required|numeric', + ]); + + Kecamatan::create([ + 'nama_kecamatan' => $request->nama_kecamatan, + 'jumlah_penduduk' => $request->jumlah_penduduk, + 'longitude' => $request->longitude, + 'latitude' => $request->latitude, + ]); + + return redirect()->route('kecamatan.index')->with('success', 'Kecamatan berhasil ditambahkan.'); + } + + public function update(Request $request, $id) + { + // Temukan objek Kecamatan berdasarkan ID + $kecamatan = Kecamatan::find($id); + + $request->validate([ + 'nama_kecamatan' => 'sometimes|required|string|max:255', + 'jumlah_penduduk' => 'sometimes|required|numeric', + 'longitude' => 'sometimes|required|numeric', + 'latitude' => 'sometimes|required|numeric', + ]); + + if ($kecamatan) { + // Memperbarui bidang-bidang yang ada dalam permintaan + if ($request->has('nama_kecamatan')) { + $kecamatan->nama_kecamatan = $request->nama_kecamatan; + } + if ($request->has('jumlah_penduduk')) { + $kecamatan->jumlah_penduduk = $request->jumlah_penduduk; + } + if ($request->has('longitude')) { + $kecamatan->longitude = $request->longitude; + } + if ($request->has('latitude')) { + $kecamatan->latitude = $request->latitude; + } + + // Menyimpan perubahan + $kecamatan->save(); + + // return response()->json(['message' => 'Data kecamatan berhasil diperbarui.']); + return redirect()->route('kecamatan.index')->with('success', 'Kecamatan berhasil ditambahkan.'); + + } else { + return redirect()->route('kecamatan.index')->with('error', 'Data kecamatan tidak ditemukan.'); + + // return response()->json(['error' => 'Data kecamatan tidak ditemukan.'], 404); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/LoginController.php b/app/Http/Controllers/LoginController.php new file mode 100644 index 0000000..78921fc --- /dev/null +++ b/app/Http/Controllers/LoginController.php @@ -0,0 +1,40 @@ +only('email', 'password'); + + // Coba untuk melakukan login + if (Auth::attempt($credentials)) { + // Jika berhasil, redirect ke home atau route yang diinginkan + return redirect()->intended('/dashboard'); + } + + // Jika gagal, kembali ke halaman login dengan pesan error + return back()->withErrors(['email' => 'Email atau password salah']); + } + + // Proses logout + public function logout(Request $request) + { + Auth::logout(); + return redirect('/'); + } +} + diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 0000000..494c050 --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,68 @@ + + */ + protected $middleware = [ + // \App\Http\Middleware\TrustHosts::class, + \App\Http\Middleware\TrustProxies::class, + \Illuminate\Http\Middleware\HandleCors::class, + \App\Http\Middleware\PreventRequestsDuringMaintenance::class, + \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, + \App\Http\Middleware\TrimStrings::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + ]; + + /** + * The application's route middleware groups. + * + * @var array> + */ + protected $middlewareGroups = [ + 'web' => [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, + \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + ]; + + /** + * The application's middleware aliases. + * + * Aliases may be used instead of class names to conveniently assign middleware to routes and groups. + * + * @var array + */ + protected $middlewareAliases = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'precognitive' => \Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests::class, + 'signed' => \App\Http\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..d4ef644 --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,17 @@ +expectsJson() ? null : route('login'); + } +} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 0000000..867695b --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php new file mode 100644 index 0000000..74cbd9a --- /dev/null +++ b/app/Http/Middleware/PreventRequestsDuringMaintenance.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..afc78c4 --- /dev/null +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,30 @@ +check()) { + return redirect(RouteServiceProvider::HOME); + } + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000..88cadca --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,19 @@ + + */ + protected $except = [ + 'current_password', + 'password', + 'password_confirmation', + ]; +} diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php new file mode 100644 index 0000000..c9c58bd --- /dev/null +++ b/app/Http/Middleware/TrustHosts.php @@ -0,0 +1,20 @@ + + */ + public function hosts(): array + { + return [ + $this->allSubdomainsOfApplicationUrl(), + ]; + } +} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php new file mode 100644 index 0000000..3391630 --- /dev/null +++ b/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,28 @@ +|string|null + */ + protected $proxies; + + /** + * The headers that should be used to detect proxies. + * + * @var int + */ + protected $headers = + Request::HEADER_X_FORWARDED_FOR | + Request::HEADER_X_FORWARDED_HOST | + Request::HEADER_X_FORWARDED_PORT | + Request::HEADER_X_FORWARDED_PROTO | + Request::HEADER_X_FORWARDED_AWS_ELB; +} diff --git a/app/Http/Middleware/ValidateSignature.php b/app/Http/Middleware/ValidateSignature.php new file mode 100644 index 0000000..093bf64 --- /dev/null +++ b/app/Http/Middleware/ValidateSignature.php @@ -0,0 +1,22 @@ + + */ + protected $except = [ + // 'fbclid', + // 'utm_campaign', + // 'utm_content', + // 'utm_medium', + // 'utm_source', + // 'utm_term', + ]; +} diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..9e86521 --- /dev/null +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/app/Imports/ImportData.php b/app/Imports/ImportData.php new file mode 100644 index 0000000..cc114d9 --- /dev/null +++ b/app/Imports/ImportData.php @@ -0,0 +1,30 @@ +first(); + + // Jika kecamatan ditemukan, buat instance model DataDBD dengan ID kecamatan yang sesuai + if ($kecamatan) { + return new DataDBD([ + 'id_kecamatan' => $kecamatan->id, + 'tahun' => $row['tahun'], + 'bulan' => $row['Bulan'], + 'jumlah_kasus' => $row['jumlah kasus'], + ]); + } + + // Jika kecamatan tidak ditemukan, kembalikan null atau lakukan penanganan yang sesuai + return null; + } +} diff --git a/app/Models/DataDBD.php b/app/Models/DataDBD.php new file mode 100644 index 0000000..52c78b7 --- /dev/null +++ b/app/Models/DataDBD.php @@ -0,0 +1,25 @@ +belongsTo(Kecamatan::class, 'id_kecamatan', 'id'); + } + + public static function getDataByYear($year) + { + return static::where('tahun', $year)->get(); + } + +} + diff --git a/app/Models/Kecamatan.php b/app/Models/Kecamatan.php new file mode 100644 index 0000000..bf75c23 --- /dev/null +++ b/app/Models/Kecamatan.php @@ -0,0 +1,18 @@ +hasMany(DataDBD::class, 'id_kecamatan'); + } +} diff --git a/app/Models/User.php b/app/Models/User.php new file mode 100644 index 0000000..9b6cbd2 --- /dev/null +++ b/app/Models/User.php @@ -0,0 +1,35 @@ + + */ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + /** + * The attributes that should be hidden for serialization. + * + * @var array + */ + protected $hidden = [ + 'password', + 'remember_token', + ]; +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..452e6b6 --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,24 @@ + + */ + protected $policies = [ + // + ]; + + /** + * Register any authentication / authorization services. + */ + public function boot(): void + { + // + } +} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..2be04f5 --- /dev/null +++ b/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,19 @@ +> + */ + protected $listen = [ + Registered::class => [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + */ + public function boot(): void + { + // + } + + /** + * Determine if events and listeners should be automatically discovered. + */ + public function shouldDiscoverEvents(): bool + { + return false; + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..1cf5f15 --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,40 @@ +by($request->user()?->id ?: $request->ip()); + }); + + $this->routes(function () { + Route::middleware('api') + ->prefix('api') + ->group(base_path('routes/api.php')); + + Route::middleware('web') + ->group(base_path('routes/web.php')); + }); + } +} diff --git a/artisan b/artisan new file mode 100644 index 0000000..67a3329 --- /dev/null +++ b/artisan @@ -0,0 +1,53 @@ +#!/usr/bin/env php +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 0000000..037e17d --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..ba21c70 --- /dev/null +++ b/composer.json @@ -0,0 +1,68 @@ +{ + "name": "laravel/laravel", + "type": "project", + "description": "The skeleton application for the Laravel framework.", + "keywords": ["laravel", "framework"], + "license": "MIT", + "require": { + "php": "^8.1", + "arielmejiadev/larapex-charts": "^8.1", + "guzzlehttp/guzzle": "^7.2", + "laravel/framework": "^10.10", + "laravel/sanctum": "^3.3", + "laravel/tinker": "^2.8", + "maatwebsite/excel": "^3.1" + }, + "require-dev": { + "fakerphp/faker": "^1.9.1", + "laravel/pint": "^1.0", + "laravel/sail": "^1.18", + "mockery/mockery": "^1.4.4", + "nunomaduro/collision": "^7.0", + "phpunit/phpunit": "^10.1", + "spatie/laravel-ignition": "^2.0" + }, + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-update-cmd": [ + "@php artisan vendor:publish --tag=laravel-assets --ansi --force" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true, + "allow-plugins": { + "pestphp/pest-plugin": true, + "php-http/discovery": true + } + }, + "minimum-stability": "stable", + "prefer-stable": true +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..826df14 --- /dev/null +++ b/composer.lock @@ -0,0 +1,8726 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "19f52655bcd018805f853cbce4c1c9c7", + "packages": [ + { + "name": "arielmejiadev/larapex-charts", + "version": "8.1.0", + "source": { + "type": "git", + "url": "https://github.com/ArielMejiaDev/larapex-charts.git", + "reference": "5461a65f730c66735599e142e384d2689209eedf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ArielMejiaDev/larapex-charts/zipball/5461a65f730c66735599e142e384d2689209eedf", + "reference": "5461a65f730c66735599e142e384d2689209eedf", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/support": "^9.0|^10.0", + "php": "^8.0|^8.2" + }, + "require-dev": { + "nunomaduro/collision": "^7.5", + "orchestra/testbench": "^7.0|^8.0", + "phpunit/phpunit": "^9.0|^10.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "ArielMejiaDev\\LarapexCharts\\LarapexChartsServiceProvider" + ], + "aliases": { + "LarapexChart": "ArielMejiaDev\\LarapexCharts\\Facades\\LarapexChart" + } + } + }, + "autoload": { + "psr-4": { + "ArielMejiaDev\\LarapexCharts\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "ArielMejiaDev", + "email": "arielmejiadev@gmail.com" + } + ], + "description": "Package to provide easy api to build apex charts on Laravel", + "homepage": "https://larapex-charts.netlify.app/", + "keywords": [ + "apexcharts", + "arielmejiadev", + "charts", + "larapex" + ], + "support": { + "issues": "https://github.com/ArielMejiaDev/larapex-charts/issues", + "source": "https://github.com/ArielMejiaDev/larapex-charts/tree/8.1.0" + }, + "time": "2024-02-08T16:17:30+00:00" + }, + { + "name": "brick/math", + "version": "0.12.1", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "5.16.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "bignumber", + "brick", + "decimal", + "integer", + "math", + "mathematics", + "rational" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.12.1" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2023-11-29T23:19:16+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" + }, + "require-dev": { + "doctrine/dbal": "^3.7.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2023-12-11T17:09:12+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-08-31T09:50:34+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + }, + "time": "2022-10-27T11:44:00+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.10" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2024-02-18T20:23:39+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:56:58+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2023-08-10T19:36:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-10-06T06:47:41+00:00" + }, + { + "name": "ezyang/htmlpurifier", + "version": "v4.17.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "shasum": "" + }, + "require": { + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" + }, + "require-dev": { + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-tidy": "Used for pretty-printing HTML" + }, + "type": "library", + "autoload": { + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" + }, + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" + }, + "time": "2023-11-17T15:01:25+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-10-12T05:21:21+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:16:48+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:35:24+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:19:20+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.6.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:05:35+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2023-12-03T19:50:20+00:00" + }, + { + "name": "laravel/framework", + "version": "v10.48.10", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "91e2b9e218afa4e5c377510faa11957042831ba3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/91e2b9e218afa4e5c377510faa11957042831ba3", + "reference": "91e2b9e218afa4e5c377510faa11957042831ba3", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.3.2", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.1.9", + "laravel/serializable-closure": "^1.3", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^2.67", + "nunomaduro/termwind": "^1.13", + "php": "^8.1", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^6.2", + "symfony/error-handler": "^6.2", + "symfony/finder": "^6.2", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.2", + "symfony/mailer": "^6.2", + "symfony/mime": "^6.2", + "symfony/process": "^6.2", + "symfony/routing": "^6.2", + "symfony/uid": "^6.2", + "symfony/var-dumper": "^6.2", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^2.0" + }, + "conflict": { + "carbonphp/carbon-doctrine-types": ">=3.0", + "doctrine/dbal": ">=4.0", + "mockery/mockery": "1.6.8", + "phpunit/phpunit": ">=11.0.0", + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/process": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "doctrine/dbal": "^3.5.1", + "ext-gmp": "*", + "fakerphp/faker": "^1.21", + "guzzlehttp/guzzle": "^7.5", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", + "league/flysystem-sftp-v3": "^3.0", + "mockery/mockery": "^1.5.1", + "nyholm/psr7": "^1.2", + "orchestra/testbench-core": "^8.23.4", + "pda/pheanstalk": "^4.0", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^10.0.7", + "predis/predis": "^2.0.2", + "symfony/cache": "^6.2", + "symfony/http-client": "^6.2.4", + "symfony/psr-http-message-bridge": "^2.0" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "mockery/mockery": "Required to use mocking (^1.5.1).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", + "predis/predis": "Required to use the predis connector (^2.0.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2024-04-30T12:52:59+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.1.21", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "23ea808e8a145653e0ab29e30d4385e49f40a920" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/23ea808e8a145653e0ab29e30d4385e49f40a920", + "reference": "23ea808e8a145653e0ab29e30d4385e49f40a920", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/collections": "^10.0|^11.0", + "php": "^8.1", + "symfony/console": "^6.2|^7.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-mockery": "^1.1" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Add beautiful and user-friendly forms to your command-line applications.", + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.21" + }, + "time": "2024-04-30T12:46:16+00:00" + }, + { + "name": "laravel/sanctum", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/sanctum.git", + "reference": "8c104366459739f3ada0e994bcd3e6fd681ce3d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/8c104366459739f3ada0e994bcd3e6fd681ce3d5", + "reference": "8c104366459739f3ada0e994bcd3e6fd681ce3d5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^9.21|^10.0", + "illuminate/contracts": "^9.21|^10.0", + "illuminate/database": "^9.21|^10.0", + "illuminate/support": "^9.21|^10.0", + "php": "^8.0.2" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^7.28.2|^8.8.3", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sanctum\\SanctumServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sanctum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", + "keywords": [ + "auth", + "laravel", + "sanctum" + ], + "support": { + "issues": "https://github.com/laravel/sanctum/issues", + "source": "https://github.com/laravel/sanctum" + }, + "time": "2023-12-19T18:44:48+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "nesbot/carbon": "^2.61", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2023-11-08T14:08:06+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.9.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.9.0" + }, + "time": "2024-01-04T16:10:04+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.3", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2024-02-02T11:59:32+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "3.27.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "4729745b1ab737908c7d055148c9a6b3e959832f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4729745b1ab737908c7d055148c9a6b3e959832f", + "reference": "4729745b1ab737908c7d055148c9a6b3e959832f", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.27.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-04-07T19:17:50+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.25.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "source": "https://github.com/thephpleague/flysystem-local/tree/3.25.1" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-03-15T19:58:44+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.15.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-01-28T23:22:08+00:00" + }, + { + "name": "maatwebsite/excel", + "version": "3.1.55", + "source": { + "type": "git", + "url": "https://github.com/SpartnerNL/Laravel-Excel.git", + "reference": "6d9d791dcdb01a9b6fd6f48d46f0d5fff86e6260" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/6d9d791dcdb01a9b6fd6f48d46f0d5fff86e6260", + "reference": "6d9d791dcdb01a9b6fd6f48d46f0d5fff86e6260", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "ext-json": "*", + "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0", + "php": "^7.0||^8.0", + "phpoffice/phpspreadsheet": "^1.18", + "psr/simple-cache": "^1.0||^2.0||^3.0" + }, + "require-dev": { + "laravel/scout": "^7.0||^8.0||^9.0||^10.0", + "orchestra/testbench": "^6.0||^7.0||^8.0||^9.0", + "predis/predis": "^1.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Maatwebsite\\Excel\\ExcelServiceProvider" + ], + "aliases": { + "Excel": "Maatwebsite\\Excel\\Facades\\Excel" + } + } + }, + "autoload": { + "psr-4": { + "Maatwebsite\\Excel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Patrick Brouwers", + "email": "patrick@spartner.nl" + } + ], + "description": "Supercharged Excel exports and imports in Laravel", + "keywords": [ + "PHPExcel", + "batch", + "csv", + "excel", + "export", + "import", + "laravel", + "php", + "phpspreadsheet" + ], + "support": { + "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", + "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.55" + }, + "funding": [ + { + "url": "https://laravel-excel.com/commercial-support", + "type": "custom" + }, + { + "url": "https://github.com/patrickbrouwers", + "type": "github" + } + ], + "time": "2024-02-20T08:27:10+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.1" + }, + "require-dev": { + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^10.0", + "vimeo/psalm": "^5.0" + }, + "suggest": { + "guzzlehttp/psr7": "^2.4", + "psr/http-message": "^2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "ZipStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paul Duncan", + "email": "pabs@pablotron.org" + }, + { + "name": "Jonatan Männchen", + "email": "jonatan@maennchen.ch" + }, + { + "name": "Jesse Donat", + "email": "donatj@gmail.com" + }, + { + "name": "András Kolesár", + "email": "kolesar@kolesar.hu" + } + ], + "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", + "keywords": [ + "stream", + "zip" + ], + "support": { + "issues": "https://github.com/maennchen/ZipStream-PHP/issues", + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" + }, + "funding": [ + { + "url": "https://github.com/maennchen", + "type": "github" + }, + { + "url": "https://opencollective.com/zipstream", + "type": "open_collective" + } + ], + "time": "2023-06-21T14:59:35+00:00" + }, + { + "name": "markbaker/complex", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPComplex.git", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Complex\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@lange.demon.co.uk" + } + ], + "description": "PHP Class for working with complex numbers", + "homepage": "https://github.com/MarkBaker/PHPComplex", + "keywords": [ + "complex", + "mathematics" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPComplex/issues", + "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" + }, + "time": "2022-12-06T16:21:08+00:00" + }, + { + "name": "markbaker/matrix", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPMatrix.git", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "sebastian/phpcpd": "^4.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Matrix\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@demon-angel.eu" + } + ], + "description": "PHP Class for working with matrices", + "homepage": "https://github.com/MarkBaker/PHPMatrix", + "keywords": [ + "mathematics", + "matrix", + "vector" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPMatrix/issues", + "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" + }, + "time": "2022-12-02T22:17:43+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.6.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.5.17", + "predis/predis": "^1.1 || ^2", + "ruflin/elastica": "^7", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.6.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2024-04-12T21:02:21+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.72.3", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "*", + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "psr/clock": "^1.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2024-01-25T10:35:09+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.0" + }, + "time": "2023-12-11T11:54:22+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.4", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.4" + }, + "time": "2024-01-17T16:50:36+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.0.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + }, + "time": "2024-03-05T20:51:40+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v1.15.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" + }, + "require-dev": { + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Its like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2023-02-08T01:06:31+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.29.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "ezyang/htmlpurifier": "^4.15", + "maennchen/zipstream-php": "^2.1 || ^3.0", + "markbaker/complex": "^3.0", + "markbaker/matrix": "^3.0", + "php": "^7.4 || ^8.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-main", + "dompdf/dompdf": "^1.0 || ^2.0", + "friendsofphp/php-cs-fixer": "^3.2", + "mitoteam/jpgraph": "^10.3", + "mpdf/mpdf": "^8.1.1", + "phpcompatibility/php-compatibility": "^9.3", + "phpstan/phpstan": "^1.1", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0", + "squizlabs/php_codesniffer": "^3.7", + "tecnickcom/tcpdf": "^6.5" + }, + "suggest": { + "dompdf/dompdf": "Option for rendering PDF with PDF Writer", + "ext-intl": "PHP Internationalization Functions", + "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", + "mpdf/mpdf": "Option for rendering PDF with PDF Writer", + "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "https://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker", + "homepage": "https://markbakeruk.net" + }, + { + "name": "Franck Lefevre", + "homepage": "https://rootslabs.net" + }, + { + "name": "Erik Tilt" + }, + { + "name": "Adrien Crivelli" + } + ], + "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", + "keywords": [ + "OpenXML", + "excel", + "gnumeric", + "ods", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "support": { + "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0" + }, + "time": "2023-06-14T22:48:31+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.3", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", + "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.12.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.3" + }, + "time": "2024-04-02T15:57:53+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.7.6", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.6" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2024-04-27T21:32:50+00:00" + }, + { + "name": "symfony/console", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", + "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "1c5d5c2103c3762aff27a27e1e2409e30a79083b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c5d5c2103c3762aff27a27e1e2409e30a79083b", + "reference": "1c5d5c2103c3762aff27a27e1e2409e30a79083b", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "667a072466c6a53827ed7b119af93806b884cbb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/667a072466c6a53827ed7b119af93806b884cbb3", + "reference": "667a072466c6a53827ed7b119af93806b884cbb3", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "d84384f3f67de3cb650db64d685d70395dacfc3f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d84384f3f67de3cb650db64d685d70395dacfc3f", + "reference": "d84384f3f67de3cb650db64d685d70395dacfc3f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "511c48990be17358c23bf45c5d71ab85d40fb764" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/511c48990be17358c23bf45c5d71ab85d40fb764", + "reference": "511c48990be17358c23bf45c5d71ab85d40fb764", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-23T10:36:43+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b4db6b833035477cb70e18d0ae33cb7c2b521759", + "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.3" + }, + "require-dev": { + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b7b5e6cdef670a0c82d015a966ffc7e855861a98", + "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-29T11:24:44+00:00" + }, + { + "name": "symfony/mailer", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/2c446d4e446995bed983c0b5bb9ff837e8de7dbd", + "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "decadcf3865918ecfcbfa90968553994ce935a5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/decadcf3865918ecfcbfa90968553994ce935a5e", + "reference": "decadcf3865918ecfcbfa90968553994ce935a5e", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.3.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.4|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/process", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "cdb1c81c145fd5aa9b0038bab694035020943381" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/cdb1c81c145fd5aa9b0038bab694035020943381", + "reference": "cdb1c81c145fd5aa9b0038bab694035020943381", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/routing", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "276e06398f71fa2a973264d94f28150f93cfb907" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/276e06398f71fa2a973264d94f28150f93cfb907", + "reference": "276e06398f71fa2a973264d94f28150f93cfb907", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/string", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "ffeb9591c61f65a68d47f77d12b83fa530227a69" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/ffeb9591c61f65a68d47f77d12b83fa530227a69", + "reference": "ffeb9591c61f65a68d47f77d12b83fa530227a69", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/translation", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "7495687c58bfd88b7883823747b0656d90679123" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/7495687c58bfd88b7883823747b0656d90679123", + "reference": "7495687c58bfd88b7883823747b0656d90679123", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^4.18|^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/uid", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "a66efcb71d8bc3a207d9d78e0bd67f3321510355" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/a66efcb71d8bc3a207d9d78e0bd67f3321510355", + "reference": "a66efcb71d8bc3a207d9d78e0bd67f3321510355", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7a9cd977cd1c5fed3694bee52990866432af07d7", + "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:22:46+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + }, + "time": "2023-12-08T13:03:43+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:43:29+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b56450eed252f6801410d810c8e1727224ae0743" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2022-03-08T17:03:00+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "packages-dev": [ + { + "name": "fakerphp/faker", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + }, + "time": "2024-01-02T13:46:09+00:00" + }, + { + "name": "filp/whoops", + "version": "2.15.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.15.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2023-11-03T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.15.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "3600b5d17aff52f6100ea4921849deacbbeb8656" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/3600b5d17aff52f6100ea4921849deacbbeb8656", + "reference": "3600b5d17aff52f6100ea4921849deacbbeb8656", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.54.0", + "illuminate/view": "^10.48.8", + "larastan/larastan": "^2.9.5", + "laravel-zero/framework": "^10.3.0", + "mockery/mockery": "^1.6.11", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.34.7" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2024-04-30T15:02:26+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.29.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/8be4a31150eab3b46af11a2e7b2c4632eefaad7e", + "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0", + "illuminate/support": "^9.52.16|^10.0|^11.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpstan/phpstan": "^1.10" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2024-03-20T20:09:31+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v7.10.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.15.3", + "nunomaduro/termwind": "^1.15.1", + "php": "^8.1.0", + "symfony/console": "^6.3.4" + }, + "conflict": { + "laravel/framework": ">=11.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.3.0", + "laravel/framework": "^10.28.0", + "laravel/pint": "^1.13.3", + "laravel/sail": "^1.25.0", + "laravel/sanctum": "^3.3.1", + "laravel/tinker": "^2.8.2", + "nunomaduro/larastan": "^2.6.4", + "orchestra/testbench-core": "^8.13.0", + "pestphp/pest": "^2.23.2", + "phpunit/phpunit": "^10.4.1", + "sebastian/environment": "^6.0.1", + "spatie/laravel-ignition": "^2.3.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2023-10-11T15:45:01+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "10.1.14", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.1" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-12T15:33:41+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T06:24:48+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:56:09+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T14:07:24+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:57:52+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "10.5.20", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3", + "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.5", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2024-04-24T06:32:35+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:12:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:43+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:59:15+00:00" + }, + { + "name": "sebastian/comparator", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-14T13:18:12+00:00" + }, + { + "name": "sebastian/complexity", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "68ff824baeae169ec9f2137158ee529584553799" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:37:17+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:15:17+00:00" + }, + { + "name": "sebastian/environment", + "version": "6.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-23T08:47:14+00:00" + }, + { + "name": "sebastian/exporter", + "version": "5.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:17:12+00:00" + }, + { + "name": "sebastian/global-state", + "version": "6.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:19:19+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:38:20+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:08:32+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:06:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:05:40+00:00" + }, + { + "name": "sebastian/type", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:10:45+00:00" + }, + { + "name": "sebastian/version", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-07T11:34:05+00:00" + }, + { + "name": "spatie/backtrace", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8373b9d51638292e3bfd736a9c19a654111b4a23", + "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "ext-json": "*", + "laravel/serializable-closure": "^1.3", + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/backtrace/tree/1.6.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2024-04-24T13:22:11+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "e27977d534eefe04c154c6fd8460217024054c05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/e27977d534eefe04c154c6fd8460217024054c05", + "reference": "e27977d534eefe04c154c6fd8460217024054c05", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "php": "^8.0", + "spatie/backtrace": "^1.5.2", + "symfony/http-foundation": "^5.2|^6.0|^7.0", + "symfony/mime": "^5.2|^6.0|^7.0", + "symfony/process": "^5.2|^6.0|^7.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.5.1" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-05-03T15:43:14+00:00" + }, + { + "name": "spatie/ignition", + "version": "1.14.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "c23cc018c5f423d2f413b99f84655fceb6549811" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/c23cc018c5f423d2f413b99f84655fceb6549811", + "reference": "c23cc018c5f423d2f413b99f84655fceb6549811", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "spatie/backtrace": "^1.5.3", + "spatie/flare-client-php": "^1.4.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "require-dev": { + "illuminate/cache": "^9.52|^10.0|^11.0", + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "psr/simple-cache-implementation": "*", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-05-03T15:56:16+00:00" + }, + { + "name": "spatie/laravel-ignition", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/f52124d50122611e8a40f628cef5c19ff6cc5b57", + "reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^10.0|^11.0", + "php": "^8.1", + "spatie/flare-client-php": "^1.5", + "spatie/ignition": "^1.14", + "symfony/console": "^6.2.3|^7.0", + "symfony/var-dumper": "^6.2.3|^7.0" + }, + "require-dev": { + "livewire/livewire": "^2.11|^3.3.5", + "mockery/mockery": "^1.5.1", + "openai-php/client": "^0.8.1", + "orchestra/testbench": "8.22.3|^9.0", + "pestphp/pest": "^2.34", + "phpstan/extension-installer": "^1.3.1", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.16", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-05-02T13:42:49+00:00" + }, + { + "name": "symfony/yaml", + "version": "v6.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0", + "reference": "53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v6.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-28T10:28:08+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:36:25+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.1" + }, + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..aad098b --- /dev/null +++ b/config/app.php @@ -0,0 +1,191 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => (bool) env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + 'asset_url' => env('ASSET_URL'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'en_US', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => 'file', + // 'store' => 'redis', + ], + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => ServiceProvider::defaultProviders()->merge([ + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + Maatwebsite\Excel\ExcelServiceProvider::class, + ArielMejiaDev\LarapexCharts\LarapexChartsServiceProvider::class, + ])->toArray(), + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => Facade::defaultAliases()->merge([ + // 'Example' => App\Facades\Example::class, + 'Excel' => Maatwebsite\Excel\Facades\Excel::class, + ])->toArray(), + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..9548c15 --- /dev/null +++ b/config/auth.php @@ -0,0 +1,115 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\Models\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expiry time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + | The throttle setting is the number of seconds a user must wait before + | generating more password reset tokens. This prevents the user from + | quickly generating a very large amount of password reset tokens. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_reset_tokens', + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | times out and the user is prompted to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => 10800, + +]; diff --git a/config/broadcasting.php b/config/broadcasting.php new file mode 100644 index 0000000..2410485 --- /dev/null +++ b/config/broadcasting.php @@ -0,0 +1,71 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com', + 'port' => env('PUSHER_PORT', 443), + 'scheme' => env('PUSHER_SCHEME', 'https'), + 'encrypted' => true, + 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https', + ], + 'client_options' => [ + // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html + ], + ], + + 'ably' => [ + 'driver' => 'ably', + 'key' => env('ABLY_KEY'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..d4171e2 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,111 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + 'lock_connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + 'lock_path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + 'lock_connection' => 'default', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, or DynamoDB cache + | stores there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), + +]; diff --git a/config/cors.php b/config/cors.php new file mode 100644 index 0000000..8a39e6d --- /dev/null +++ b/config/cors.php @@ -0,0 +1,34 @@ + ['api/*', 'sanctum/csrf-cookie'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..137ad18 --- /dev/null +++ b/config/database.php @@ -0,0 +1,151 @@ + env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DATABASE_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/config/excel.php b/config/excel.php new file mode 100644 index 0000000..16828e7 --- /dev/null +++ b/config/excel.php @@ -0,0 +1,379 @@ + [ + + /* + |-------------------------------------------------------------------------- + | Chunk size + |-------------------------------------------------------------------------- + | + | When using FromQuery, the query is automatically chunked. + | Here you can specify how big the chunk should be. + | + */ + 'chunk_size' => 1000, + + /* + |-------------------------------------------------------------------------- + | Pre-calculate formulas during export + |-------------------------------------------------------------------------- + */ + 'pre_calculate_formulas' => false, + + /* + |-------------------------------------------------------------------------- + | Enable strict null comparison + |-------------------------------------------------------------------------- + | + | When enabling strict null comparison empty cells ('') will + | be added to the sheet. + */ + 'strict_null_comparison' => false, + + /* + |-------------------------------------------------------------------------- + | CSV Settings + |-------------------------------------------------------------------------- + | + | Configure e.g. delimiter, enclosure and line ending for CSV exports. + | + */ + 'csv' => [ + 'delimiter' => ',', + 'enclosure' => '"', + 'line_ending' => PHP_EOL, + 'use_bom' => false, + 'include_separator_line' => false, + 'excel_compatibility' => false, + 'output_encoding' => '', + 'test_auto_detect' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Worksheet properties + |-------------------------------------------------------------------------- + | + | Configure e.g. default title, creator, subject,... + | + */ + 'properties' => [ + 'creator' => '', + 'lastModifiedBy' => '', + 'title' => '', + 'description' => '', + 'subject' => '', + 'keywords' => '', + 'category' => '', + 'manager' => '', + 'company' => '', + ], + ], + + 'imports' => [ + + /* + |-------------------------------------------------------------------------- + | Read Only + |-------------------------------------------------------------------------- + | + | When dealing with imports, you might only be interested in the + | data that the sheet exists. By default we ignore all styles, + | however if you want to do some logic based on style data + | you can enable it by setting read_only to false. + | + */ + 'read_only' => true, + + /* + |-------------------------------------------------------------------------- + | Ignore Empty + |-------------------------------------------------------------------------- + | + | When dealing with imports, you might be interested in ignoring + | rows that have null values or empty strings. By default rows + | containing empty strings or empty values are not ignored but can be + | ignored by enabling the setting ignore_empty to true. + | + */ + 'ignore_empty' => false, + + /* + |-------------------------------------------------------------------------- + | Heading Row Formatter + |-------------------------------------------------------------------------- + | + | Configure the heading row formatter. + | Available options: none|slug|custom + | + */ + 'heading_row' => [ + 'formatter' => 'slug', + ], + + /* + |-------------------------------------------------------------------------- + | CSV Settings + |-------------------------------------------------------------------------- + | + | Configure e.g. delimiter, enclosure and line ending for CSV imports. + | + */ + 'csv' => [ + 'delimiter' => null, + 'enclosure' => '"', + 'escape_character' => '\\', + 'contiguous' => false, + 'input_encoding' => 'UTF-8', + ], + + /* + |-------------------------------------------------------------------------- + | Worksheet properties + |-------------------------------------------------------------------------- + | + | Configure e.g. default title, creator, subject,... + | + */ + 'properties' => [ + 'creator' => '', + 'lastModifiedBy' => '', + 'title' => '', + 'description' => '', + 'subject' => '', + 'keywords' => '', + 'category' => '', + 'manager' => '', + 'company' => '', + ], + + /* + |-------------------------------------------------------------------------- + | Cell Middleware + |-------------------------------------------------------------------------- + | + | Configure middleware that is executed on getting a cell value + | + */ + 'cells' => [ + 'middleware' => [ + //\Maatwebsite\Excel\Middleware\TrimCellValue::class, + //\Maatwebsite\Excel\Middleware\ConvertEmptyCellValuesToNull::class, + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Extension detector + |-------------------------------------------------------------------------- + | + | Configure here which writer/reader type should be used when the package + | needs to guess the correct type based on the extension alone. + | + */ + 'extension_detector' => [ + 'xlsx' => Excel::XLSX, + 'xlsm' => Excel::XLSX, + 'xltx' => Excel::XLSX, + 'xltm' => Excel::XLSX, + 'xls' => Excel::XLS, + 'xlt' => Excel::XLS, + 'ods' => Excel::ODS, + 'ots' => Excel::ODS, + 'slk' => Excel::SLK, + 'xml' => Excel::XML, + 'gnumeric' => Excel::GNUMERIC, + 'htm' => Excel::HTML, + 'html' => Excel::HTML, + 'csv' => Excel::CSV, + 'tsv' => Excel::TSV, + + /* + |-------------------------------------------------------------------------- + | PDF Extension + |-------------------------------------------------------------------------- + | + | Configure here which Pdf driver should be used by default. + | Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF + | + */ + 'pdf' => Excel::DOMPDF, + ], + + /* + |-------------------------------------------------------------------------- + | Value Binder + |-------------------------------------------------------------------------- + | + | PhpSpreadsheet offers a way to hook into the process of a value being + | written to a cell. In there some assumptions are made on how the + | value should be formatted. If you want to change those defaults, + | you can implement your own default value binder. + | + | Possible value binders: + | + | [x] Maatwebsite\Excel\DefaultValueBinder::class + | [x] PhpOffice\PhpSpreadsheet\Cell\StringValueBinder::class + | [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class + | + */ + 'value_binder' => [ + 'default' => Maatwebsite\Excel\DefaultValueBinder::class, + ], + + 'cache' => [ + /* + |-------------------------------------------------------------------------- + | Default cell caching driver + |-------------------------------------------------------------------------- + | + | By default PhpSpreadsheet keeps all cell values in memory, however when + | dealing with large files, this might result into memory issues. If you + | want to mitigate that, you can configure a cell caching driver here. + | When using the illuminate driver, it will store each value in the + | cache store. This can slow down the process, because it needs to + | store each value. You can use the "batch" store if you want to + | only persist to the store when the memory limit is reached. + | + | Drivers: memory|illuminate|batch + | + */ + 'driver' => 'memory', + + /* + |-------------------------------------------------------------------------- + | Batch memory caching + |-------------------------------------------------------------------------- + | + | When dealing with the "batch" caching driver, it will only + | persist to the store when the memory limit is reached. + | Here you can tweak the memory limit to your liking. + | + */ + 'batch' => [ + 'memory_limit' => 60000, + ], + + /* + |-------------------------------------------------------------------------- + | Illuminate cache + |-------------------------------------------------------------------------- + | + | When using the "illuminate" caching driver, it will automatically use + | your default cache store. However if you prefer to have the cell + | cache on a separate store, you can configure the store name here. + | You can use any store defined in your cache config. When leaving + | at "null" it will use the default store. + | + */ + 'illuminate' => [ + 'store' => null, + ], + + /* + |-------------------------------------------------------------------------- + | Cache Time-to-live (TTL) + |-------------------------------------------------------------------------- + | + | The TTL of items written to cache. If you want to keep the items cached + | indefinitely, set this to null. Otherwise, set a number of seconds, + | a \DateInterval, or a callable. + | + | Allowable types: callable|\DateInterval|int|null + | + */ + 'default_ttl' => 10800, + ], + + /* + |-------------------------------------------------------------------------- + | Transaction Handler + |-------------------------------------------------------------------------- + | + | By default the import is wrapped in a transaction. This is useful + | for when an import may fail and you want to retry it. With the + | transactions, the previous import gets rolled-back. + | + | You can disable the transaction handler by setting this to null. + | Or you can choose a custom made transaction handler here. + | + | Supported handlers: null|db + | + */ + 'transactions' => [ + 'handler' => 'db', + 'db' => [ + 'connection' => null, + ], + ], + + 'temporary_files' => [ + + /* + |-------------------------------------------------------------------------- + | Local Temporary Path + |-------------------------------------------------------------------------- + | + | When exporting and importing files, we use a temporary file, before + | storing reading or downloading. Here you can customize that path. + | permissions is an array with the permission flags for the directory (dir) + | and the create file (file). + | + */ + 'local_path' => storage_path('framework/cache/laravel-excel'), + + /* + |-------------------------------------------------------------------------- + | Local Temporary Path Permissions + |-------------------------------------------------------------------------- + | + | Permissions is an array with the permission flags for the directory (dir) + | and the create file (file). + | If omitted the default permissions of the filesystem will be used. + | + */ + 'local_permissions' => [ + // 'dir' => 0755, + // 'file' => 0644, + ], + + /* + |-------------------------------------------------------------------------- + | Remote Temporary Disk + |-------------------------------------------------------------------------- + | + | When dealing with a multi server setup with queues in which you + | cannot rely on having a shared local temporary path, you might + | want to store the temporary file on a shared disk. During the + | queue executing, we'll retrieve the temporary file from that + | location instead. When left to null, it will always use + | the local path. This setting only has effect when using + | in conjunction with queued imports and exports. + | + */ + 'remote_disk' => null, + 'remote_prefix' => null, + + /* + |-------------------------------------------------------------------------- + | Force Resync + |-------------------------------------------------------------------------- + | + | When dealing with a multi server setup as above, it's possible + | for the clean up that occurs after entire queue has been run to only + | cleanup the server that the last AfterImportJob runs on. The rest of the server + | would still have the local temporary file stored on it. In this case your + | local storage limits can be exceeded and future imports won't be processed. + | To mitigate this you can set this config value to be true, so that after every + | queued chunk is processed the local temporary file is deleted on the server that + | processed it. + | + */ + 'force_resync_remote' => null, + ], +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..e9d9dbd --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,76 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been set up for each driver as an example of the required values. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => false, + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/config/hashing.php b/config/hashing.php new file mode 100644 index 0000000..0e8a0bb --- /dev/null +++ b/config/hashing.php @@ -0,0 +1,54 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 12), + 'verify' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 65536, + 'threads' => 1, + 'time' => 4, + 'verify' => true, + ], + +]; diff --git a/config/larapex-charts.php b/config/larapex-charts.php new file mode 100644 index 0000000..0a20e3b --- /dev/null +++ b/config/larapex-charts.php @@ -0,0 +1,32 @@ + 'Helvetica, Arial, sans-serif', + + 'font_color' => '#373d3f', + + /* + |-------------------------------------------------------------------------- + | Default Colors for datasets + |-------------------------------------------------------------------------- + | + | Here you may specify which hexadecimal colors below you wish + | to use as your default colors palette in that order. + | + */ + + 'colors' => [ + '#008FFB', '#00E396', '#feb019', '#ff455f', '#775dd0', '#80effe', + '#0077B5', '#ff6384', '#c9cbcf', '#0057ff', '#00a9f4', '#2ccdc9', '#5e72e4' + ] +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 0000000..c44d276 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,131 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => false, + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['single'], + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => 14, + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => env('LOG_LEVEL', 'critical'), + 'replace_placeholders' => true, + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + 'facility' => LOG_USER, + 'replace_placeholders' => true, + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..e894b2e --- /dev/null +++ b/config/mail.php @@ -0,0 +1,134 @@ + env('MAIL_MAILER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers to be used while + | sending an e-mail. You will specify which one you are using for your + | mailers below. You are free to add additional mailers as required. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "log", "array", "failover", "roundrobin" + | + */ + + 'mailers' => [ + 'smtp' => [ + 'transport' => 'smtp', + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + 'port' => env('MAIL_PORT', 587), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN'), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => null, + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'mailgun' => [ + 'transport' => 'mailgun', + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + ], + + 'roundrobin' => [ + 'transport' => 'roundrobin', + 'mailers' => [ + 'ses', + 'postmark', + ], + ], + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..01c6b05 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,109 @@ + env('QUEUE_CONNECTION', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + 'block_for' => 0, + 'after_commit' => false, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => 90, + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Job Batching + |-------------------------------------------------------------------------- + | + | The following options configure the database and table that store job + | batching information. These options can be updated to any database + | connection and table which has been defined by your application. + | + */ + + 'batching' => [ + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/sanctum.php b/config/sanctum.php new file mode 100644 index 0000000..35d75b3 --- /dev/null +++ b/config/sanctum.php @@ -0,0 +1,83 @@ + explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( + '%s%s', + 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', + Sanctum::currentApplicationUrlWithPort() + ))), + + /* + |-------------------------------------------------------------------------- + | Sanctum Guards + |-------------------------------------------------------------------------- + | + | This array contains the authentication guards that will be checked when + | Sanctum is trying to authenticate a request. If none of these guards + | are able to authenticate the request, Sanctum will use the bearer + | token that's present on an incoming request for authentication. + | + */ + + 'guard' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Expiration Minutes + |-------------------------------------------------------------------------- + | + | This value controls the number of minutes until an issued token will be + | considered expired. This will override any values set in the token's + | "expires_at" attribute, but first-party sessions are not affected. + | + */ + + 'expiration' => null, + + /* + |-------------------------------------------------------------------------- + | Token Prefix + |-------------------------------------------------------------------------- + | + | Sanctum can prefix new tokens in order to take advantage of numerous + | security scanning initiatives maintained by open source platforms + | that notify developers if they commit tokens into repositories. + | + | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning + | + */ + + 'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''), + + /* + |-------------------------------------------------------------------------- + | Sanctum Middleware + |-------------------------------------------------------------------------- + | + | When authenticating your first-party SPA with Sanctum you may need to + | customize some of the middleware Sanctum uses while processing the + | request. You may change the middleware listed below as required. + | + */ + + 'middleware' => [ + 'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class, + 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..0ace530 --- /dev/null +++ b/config/services.php @@ -0,0 +1,34 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + 'scheme' => 'https', + ], + + 'postmark' => [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..e738cb3 --- /dev/null +++ b/config/session.php @@ -0,0 +1,214 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | While using one of the framework's cache driven session backends you may + | list a cache store that should be used for these sessions. This value + | must match with one of the application's configured cache "stores". + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" since this is a secure default value. + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => 'lax', + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => false, + +]; diff --git a/config/view.php b/config/view.php new file mode 100644 index 0000000..22b8a18 --- /dev/null +++ b/config/view.php @@ -0,0 +1,36 @@ + [ + resource_path('views'), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => env( + 'VIEW_COMPILED_PATH', + realpath(storage_path('framework/views')) + ), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 0000000..9b19b93 --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 0000000..584104c --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,44 @@ + + */ +class UserFactory extends Factory +{ + /** + * The current password being used by the factory. + */ + protected static ?string $password; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'name' => fake()->name(), + 'email' => fake()->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => static::$password ??= Hash::make('password'), + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + */ + public function unverified(): static + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..16dd3ad --- /dev/null +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users'); + } +}; diff --git a/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php b/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php new file mode 100644 index 0000000..81a7229 --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php @@ -0,0 +1,28 @@ +string('email')->primary(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('password_reset_tokens'); + } +}; diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100644 index 0000000..249da81 --- /dev/null +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php new file mode 100644 index 0000000..e828ad8 --- /dev/null +++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -0,0 +1,33 @@ +id(); + $table->morphs('tokenable'); + $table->string('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamp('expires_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('personal_access_tokens'); + } +}; diff --git a/database/migrations/2024_05_19_093551_create_kecamatan_table.php b/database/migrations/2024_05_19_093551_create_kecamatan_table.php new file mode 100644 index 0000000..6253d60 --- /dev/null +++ b/database/migrations/2024_05_19_093551_create_kecamatan_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('nama_kecamatan'); + $table->integer('jumlah_penduduk'); + $table->double('longitude', 10, 6); // Menyimpan nilai koordinat longitude dengan 6 digit di belakang koma + $table->double('latitude', 10, 6); // Menyimpan nilai koordinat latitude dengan 6 digit di belakang koma + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('kecamatan'); + } +}; diff --git a/database/migrations/2024_05_19_093756_create_data_bdb_table.php b/database/migrations/2024_05_19_093756_create_data_bdb_table.php new file mode 100644 index 0000000..2e2359c --- /dev/null +++ b/database/migrations/2024_05_19_093756_create_data_bdb_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('id_kecamatan'); + $table->string('bulan'); + $table->integer('tahun'); + $table->integer('jumlah_kasus'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('datadbd'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..3858cc0 --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,23 @@ +create(); + + \App\Models\User::create([ + 'name' => 'Thoriq', + 'email' => 'admin@tugas.com', + 'password' => Hash::make('admin123'), + ]); + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..56f5ddc --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "axios": "^1.6.4", + "laravel-vite-plugin": "^1.0.0", + "vite": "^5.0.0" + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..bc86714 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,32 @@ + + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..3aec5e2 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/css/sb-admin-2.css b/public/css/sb-admin-2.css new file mode 100644 index 0000000..e5e0791 --- /dev/null +++ b/public/css/sb-admin-2.css @@ -0,0 +1,11270 @@ + +:root { + --blue: #4e73df; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #e74a3b; + --orange: #fd7e14; + --yellow: #f6c23e; + --green: #1cc88a; + --teal: #20c9a6; + --cyan: #36b9cc; + --white: #fff; + --gray: #858796; + --gray-dark: #5a5c69; + --primary: #4e73df; + --secondary: #858796; + --success: #1cc88a; + --info: #36b9cc; + --warning: #f6c23e; + --danger: #e74a3b; + --light: #f8f9fc; + --dark: #5a5c69; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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: #858796; + 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; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + 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: #4e73df; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #224abe; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):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: #858796; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +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; +} + +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-weight: 400; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +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: #858796; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dddfeb; + border-radius: 0.35rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #858796; +} + +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: #3a3b45; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #3a3b45; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 0.75rem; + padding-left: 0.75rem; + 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; + } +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -0.75rem; + margin-left: -0.75rem; +} + +.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 { + position: relative; + width: 100%; + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.col { + flex-basis: 0; + flex-grow: 1; + 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; + 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; + 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; + 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; + 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%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #858796; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #e3e6f0; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #e3e6f0; +} + +.table tbody + tbody { + border-top: 2px solid #e3e6f0; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #e3e6f0; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #e3e6f0; +} + +.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.05); +} + +.table-hover tbody tr:hover { + color: #858796; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #cdd8f6; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #a3b6ee; +} + +.table-hover .table-primary:hover { + background-color: #b7c7f2; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #b7c7f2; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #dddde2; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #c0c1c8; +} + +.table-hover .table-secondary:hover { + background-color: #cfcfd6; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #cfcfd6; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #bff0de; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #89e2c2; +} + +.table-hover .table-success:hover { + background-color: #aaebd3; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #aaebd3; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #c7ebf1; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #96dbe4; +} + +.table-hover .table-info:hover { + background-color: #b3e4ec; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #b3e4ec; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #fceec9; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #fadf9b; +} + +.table-hover .table-warning:hover { + background-color: #fbe6b1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #fbe6b1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f8ccc8; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #f3a199; +} + +.table-hover .table-danger:hover { + background-color: #f5b7b1; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f5b7b1; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfd; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #d1d1d5; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #a9aab1; +} + +.table-hover .table-dark:hover { + background-color: #c4c4c9; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #c4c4c9; +} + +.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: #5a5c69; + border-color: #6c6e7e; +} + +.table .thead-light th { + color: #6e707e; + background-color: #eaecf4; + border-color: #e3e6f0; +} + +.table-dark { + color: #fff; + background-color: #5a5c69; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #6c6e7e; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@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; + } +} + +.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 + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #6e707e; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d1d3e2; + border-radius: 0.35rem; + 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 #6e707e; +} + +.form-control:focus { + color: #6e707e; + background-color: #fff; + border-color: #bac8f3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #858796; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #858796; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #858796; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #858796; + opacity: 1; +} + +.form-control::placeholder { + color: #858796; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #eaecf4; + opacity: 1; +} + +input[type="date"].form-control, +input[type="time"].form-control, +input[type="datetime-local"].form-control, +input[type="month"].form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +select.form-control:focus::-ms-value { + color: #6e707e; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #858796; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +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: #858796; +} + +.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.25rem; + font-size: 80%; + color: #1cc88a; +} + +.valid-tooltip { + position: absolute; + top: 100%; + left: 0; + 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(28, 200, 138, 0.9); + border-radius: 0.35rem; +} + +.form-row > .col > .valid-tooltip, +.form-row > [class*="col-"] > .valid-tooltip { + left: 5px; +} + +.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: #1cc88a; + 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='%231cc88a' 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: #1cc88a; + box-shadow: 0 0 0 0.2rem rgba(28, 200, 138, 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: #1cc88a; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff 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='%231cc88a' 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") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #1cc88a; + box-shadow: 0 0 0 0.2rem rgba(28, 200, 138, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #1cc88a; +} + +.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: #1cc88a; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #1cc88a; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34e3a4; + background-color: #34e3a4; +} + +.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(28, 200, 138, 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: #1cc88a; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #1cc88a; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #1cc88a; + box-shadow: 0 0 0 0.2rem rgba(28, 200, 138, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #e74a3b; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + 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(231, 74, 59, 0.9); + border-radius: 0.35rem; +} + +.form-row > .col > .invalid-tooltip, +.form-row > [class*="col-"] > .invalid-tooltip { + left: 5px; +} + +.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: #e74a3b; + 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='%23e74a3b' 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='%23e74a3b' 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: #e74a3b; + box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 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: #e74a3b; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74a3b' 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='%23e74a3b' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #e74a3b; + box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #e74a3b; +} + +.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: #e74a3b; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #e74a3b; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #ed7468; + background-color: #ed7468; +} + +.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(231, 74, 59, 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: #e74a3b; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #e74a3b; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #e74a3b; + box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 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-weight: 400; + color: #858796; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.35rem; + 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: #858796; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #4e73df; + border-color: #4e73df; +} + +.btn-primary:hover { + color: #fff; + background-color: #2e59d9; + border-color: #2653d4; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #2e59d9; + border-color: #2653d4; + box-shadow: 0 0 0 0.2rem rgba(105, 136, 228, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #4e73df; + border-color: #4e73df; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #2653d4; + border-color: #244ec9; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(105, 136, 228, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #858796; + border-color: #858796; +} + +.btn-secondary:hover { + color: #fff; + background-color: #717384; + border-color: #6b6d7d; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #717384; + border-color: #6b6d7d; + box-shadow: 0 0 0 0.2rem rgba(151, 153, 166, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #858796; + border-color: #858796; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #6b6d7d; + border-color: #656776; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(151, 153, 166, 0.5); +} + +.btn-success { + color: #fff; + background-color: #1cc88a; + border-color: #1cc88a; +} + +.btn-success:hover { + color: #fff; + background-color: #17a673; + border-color: #169b6b; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #17a673; + border-color: #169b6b; + box-shadow: 0 0 0 0.2rem rgba(62, 208, 156, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #1cc88a; + border-color: #1cc88a; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #169b6b; + border-color: #149063; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(62, 208, 156, 0.5); +} + +.btn-info { + color: #fff; + background-color: #36b9cc; + border-color: #36b9cc; +} + +.btn-info:hover { + color: #fff; + background-color: #2c9faf; + border-color: #2a96a5; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #2c9faf; + border-color: #2a96a5; + box-shadow: 0 0 0 0.2rem rgba(84, 196, 212, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #36b9cc; + border-color: #36b9cc; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #2a96a5; + border-color: #278c9b; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(84, 196, 212, 0.5); +} + +.btn-warning { + color: #fff; + background-color: #f6c23e; + border-color: #f6c23e; +} + +.btn-warning:hover { + color: #fff; + background-color: #f4b619; + border-color: #f4b30d; +} + +.btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #f4b619; + border-color: #f4b30d; + box-shadow: 0 0 0 0.2rem rgba(247, 203, 91, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #fff; + background-color: #f6c23e; + border-color: #f6c23e; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #f4b30d; + border-color: #e9aa0b; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(247, 203, 91, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #e74a3b; + border-color: #e74a3b; +} + +.btn-danger:hover { + color: #fff; + background-color: #e02d1b; + border-color: #d52a1a; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #e02d1b; + border-color: #d52a1a; + box-shadow: 0 0 0 0.2rem rgba(235, 101, 88, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #e74a3b; + border-color: #e74a3b; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #d52a1a; + border-color: #ca2819; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(235, 101, 88, 0.5); +} + +.btn-light { + color: #3a3b45; + background-color: #f8f9fc; + border-color: #f8f9fc; +} + +.btn-light:hover { + color: #3a3b45; + background-color: #dde2f1; + border-color: #d4daed; +} + +.btn-light:focus, .btn-light.focus { + color: #3a3b45; + background-color: #dde2f1; + border-color: #d4daed; + box-shadow: 0 0 0 0.2rem rgba(220, 221, 225, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #3a3b45; + background-color: #f8f9fc; + border-color: #f8f9fc; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #3a3b45; + background-color: #d4daed; + border-color: #cbd3e9; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 221, 225, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #5a5c69; + border-color: #5a5c69; +} + +.btn-dark:hover { + color: #fff; + background-color: #484a54; + border-color: #42444e; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #484a54; + border-color: #42444e; + box-shadow: 0 0 0 0.2rem rgba(115, 116, 128, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #5a5c69; + border-color: #5a5c69; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #42444e; + border-color: #3d3e47; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(115, 116, 128, 0.5); +} + +.btn-outline-primary { + color: #4e73df; + border-color: #4e73df; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #4e73df; + border-color: #4e73df; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #4e73df; + 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: #4e73df; + border-color: #4e73df; +} + +.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: 0 0 0 0.2rem rgba(78, 115, 223, 0.5); +} + +.btn-outline-secondary { + color: #858796; + border-color: #858796; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #858796; + border-color: #858796; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(133, 135, 150, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #858796; + 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: #858796; + border-color: #858796; +} + +.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: 0 0 0 0.2rem rgba(133, 135, 150, 0.5); +} + +.btn-outline-success { + color: #1cc88a; + border-color: #1cc88a; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #1cc88a; + border-color: #1cc88a; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(28, 200, 138, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #1cc88a; + 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: #fff; + background-color: #1cc88a; + border-color: #1cc88a; +} + +.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: 0 0 0 0.2rem rgba(28, 200, 138, 0.5); +} + +.btn-outline-info { + color: #36b9cc; + border-color: #36b9cc; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #36b9cc; + border-color: #36b9cc; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(54, 185, 204, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #36b9cc; + 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: #fff; + background-color: #36b9cc; + border-color: #36b9cc; +} + +.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: 0 0 0 0.2rem rgba(54, 185, 204, 0.5); +} + +.btn-outline-warning { + color: #f6c23e; + border-color: #f6c23e; +} + +.btn-outline-warning:hover { + color: #fff; + background-color: #f6c23e; + border-color: #f6c23e; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(246, 194, 62, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #f6c23e; + 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: #f6c23e; + border-color: #f6c23e; +} + +.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: 0 0 0 0.2rem rgba(246, 194, 62, 0.5); +} + +.btn-outline-danger { + color: #e74a3b; + border-color: #e74a3b; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #e74a3b; + border-color: #e74a3b; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #e74a3b; + 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: #e74a3b; + border-color: #e74a3b; +} + +.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: 0 0 0 0.2rem rgba(231, 74, 59, 0.5); +} + +.btn-outline-light { + color: #f8f9fc; + border-color: #f8f9fc; +} + +.btn-outline-light:hover { + color: #3a3b45; + background-color: #f8f9fc; + border-color: #f8f9fc; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 252, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fc; + 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: #3a3b45; + background-color: #f8f9fc; + border-color: #f8f9fc; +} + +.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: 0 0 0 0.2rem rgba(248, 249, 252, 0.5); +} + +.btn-outline-dark { + color: #5a5c69; + border-color: #5a5c69; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #5a5c69; + border-color: #5a5c69; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(90, 92, 105, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #5a5c69; + 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: #5a5c69; + border-color: #5a5c69; +} + +.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: 0 0 0 0.2rem rgba(90, 92, 105, 0.5); +} + +.btn-link { + font-weight: 400; + color: #4e73df; + text-decoration: none; +} + +.btn-link:hover { + color: #224abe; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; +} + +.btn-link:disabled, .btn-link.disabled { + color: #858796; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + 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.15s 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: 0.85rem; + color: #858796; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #e3e6f0; + border-radius: 0.35rem; +} + +.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; + } +} + +.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 #eaecf4; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #3a3b45; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #2e2f37; + text-decoration: none; + background-color: #eaecf4; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #4e73df; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #b7b9cc; + 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: #858796; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #3a3b45; +} + +.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: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.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.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 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: -1px; +} + +.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 > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: flex; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group:not(.has-validation) > .form-control:not(:last-child), +.input-group:not(.has-validation) > .custom-select:not(:last-child), +.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group.has-validation > .form-control:nth-last-child(n + 3), +.input-group.has-validation > .custom-select:nth-last-child(n + 3), +.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.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: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #6e707e; + text-align: center; + white-space: nowrap; + background-color: #eaecf4; + border: 1px solid #d1d3e2; + border-radius: 0.35rem; +} + +.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(1.5em + 1rem + 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.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 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.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, +.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn, +.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + z-index: 1; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +.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: #4e73df; + background-color: #4e73df; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #bac8f3; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #e5ebfa; + border-color: #e5ebfa; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #858796; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #eaecf4; +} + +.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: #b7b9cc solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: 50% / 50% 50% no-repeat; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.35rem; +} + +.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='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #4e73df; + background-color: #4e73df; +} + +.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(78, 115, 223, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(78, 115, 223, 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='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(78, 115, 223, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #b7b9cc; + 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(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(78, 115, 223, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #6e707e; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; + border: 1px solid #d1d3e2; + border-radius: 0.35rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #bac8f3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.custom-select:focus::-ms-value { + color: #6e707e; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #858796; + background-color: #eaecf4; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #6e707e; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.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; + overflow: hidden; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #bac8f3; + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #eaecf4; +} + +.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; + overflow: hidden; + font-weight: 400; + line-height: 1.5; + color: #6e707e; + background-color: #fff; + border: 1px solid #d1d3e2; + border-radius: 0.35rem; +} + +.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: #6e707e; + content: "Browse"; + background-color: #eaecf4; + border-left: inherit; + border-radius: 0 0.35rem 0.35rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: 0; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #4e73df; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #e5ebfa; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dddfeb; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #4e73df; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #e5ebfa; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dddfeb; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #4e73df; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #e5ebfa; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dddfeb; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dddfeb; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #b7b9cc; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #b7b9cc; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #b7b9cc; +} + +.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.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #858796; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dddfeb; +} + +.nav-tabs .nav-link { + margin-bottom: -1px; + border: 1px solid transparent; + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #eaecf4 #eaecf4 #dddfeb; +} + +.nav-tabs .nav-link.disabled { + color: #858796; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #6e707e; + background-color: #fff; + border-color: #dddfeb #dddfeb #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.35rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #4e73df; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.35rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: 50% / 100% 100% no-repeat; +} + +.navbar-nav-scroll { + max-height: 75vh; + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + flex-wrap: nowrap; +} + +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid #e3e6f0; + border-radius: 0.35rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.35rem - 1px); + border-top-right-radius: calc(0.35rem - 1px); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.35rem - 1px); + border-bottom-left-radius: calc(0.35rem - 1px); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 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: #f8f9fc; + border-bottom: 1px solid #e3e6f0; +} + +.card-header:first-child { + border-radius: calc(0.35rem - 1px) calc(0.35rem - 1px) 0 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: #f8f9fc; + border-top: 1px solid #e3e6f0; +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.35rem - 1px) calc(0.35rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(0.35rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.35rem - 1px); + border-top-right-radius: calc(0.35rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.35rem - 1px); + border-bottom-left-radius: calc(0.35rem - 1px); +} + +.card-deck .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -0.75rem; + margin-left: -0.75rem; + } + .card-deck .card { + flex: 1 0 0%; + margin-right: 0.75rem; + margin-bottom: 0; + margin-left: 0.75rem; + } +} + +.card-group > .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -moz-column-count: 3; + column-count: 3; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion { + overflow-anchor: none; +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #eaecf4; + border-radius: 0.35rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #858796; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #858796; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.35rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #4e73df; + background-color: #fff; + border: 1px solid #dddfeb; +} + +.page-link:hover { + z-index: 2; + color: #224abe; + text-decoration: none; + background-color: #eaecf4; + border-color: #dddfeb; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.35rem; + border-bottom-right-radius: 0.35rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #4e73df; + border-color: #4e73df; +} + +.page-item.disabled .page-link { + color: #858796; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dddfeb; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.35rem; + 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.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #4e73df; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #2653d4; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #858796; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #6b6d7d; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(133, 135, 150, 0.5); +} + +.badge-success { + color: #fff; + background-color: #1cc88a; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #169b6b; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(28, 200, 138, 0.5); +} + +.badge-info { + color: #fff; + background-color: #36b9cc; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #2a96a5; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(54, 185, 204, 0.5); +} + +.badge-warning { + color: #fff; + background-color: #f6c23e; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #fff; + background-color: #f4b30d; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(246, 194, 62, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #e74a3b; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #d52a1a; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 0.5); +} + +.badge-light { + color: #3a3b45; + background-color: #f8f9fc; +} + +a.badge-light:hover, a.badge-light:focus { + color: #3a3b45; + background-color: #d4daed; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 252, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #5a5c69; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #42444e; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(90, 92, 105, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #eaecf4; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.35rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #293c74; + background-color: #dce3f9; + border-color: #cdd8f6; +} + +.alert-primary hr { + border-top-color: #b7c7f2; +} + +.alert-primary .alert-link { + color: #1c294e; +} + +.alert-secondary { + color: #45464e; + background-color: #e7e7ea; + border-color: #dddde2; +} + +.alert-secondary hr { + border-top-color: #cfcfd6; +} + +.alert-secondary .alert-link { + color: #2d2e33; +} + +.alert-success { + color: #0f6848; + background-color: #d2f4e8; + border-color: #bff0de; +} + +.alert-success hr { + border-top-color: #aaebd3; +} + +.alert-success .alert-link { + color: #093b29; +} + +.alert-info { + color: #1c606a; + background-color: #d7f1f5; + border-color: #c7ebf1; +} + +.alert-info hr { + border-top-color: #b3e4ec; +} + +.alert-info .alert-link { + color: #113b42; +} + +.alert-warning { + color: #806520; + background-color: #fdf3d8; + border-color: #fceec9; +} + +.alert-warning hr { + border-top-color: #fbe6b1; +} + +.alert-warning .alert-link { + color: #574516; +} + +.alert-danger { + color: #78261f; + background-color: #fadbd8; + border-color: #f8ccc8; +} + +.alert-danger hr { + border-top-color: #f5b7b1; +} + +.alert-danger .alert-link { + color: #4f1915; +} + +.alert-light { + color: #818183; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686869; +} + +.alert-dark { + color: #2f3037; + background-color: #dedee1; + border-color: #d1d1d5; +} + +.alert-dark hr { + border-top-color: #c4c4c9; +} + +.alert-dark .alert-link { + color: #18181c; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: flex; + height: 1rem; + overflow: hidden; + line-height: 0; + font-size: 0.75rem; + background-color: #eaecf4; + border-radius: 0.35rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #4e73df; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.35rem; +} + +.list-group-item-action { + width: 100%; + color: #6e707e; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #6e707e; + text-decoration: none; + background-color: #f8f9fc; +} + +.list-group-item-action:active { + color: #858796; + background-color: #eaecf4; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #858796; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #4e73df; + border-color: #4e73df; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.35rem; + border-top-right-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.35rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.35rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.35rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.35rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.35rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.35rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.35rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.35rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.35rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush { + border-radius: 0; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #293c74; + background-color: #cdd8f6; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #293c74; + background-color: #b7c7f2; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #293c74; + border-color: #293c74; +} + +.list-group-item-secondary { + color: #45464e; + background-color: #dddde2; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #45464e; + background-color: #cfcfd6; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #45464e; + border-color: #45464e; +} + +.list-group-item-success { + color: #0f6848; + background-color: #bff0de; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f6848; + background-color: #aaebd3; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f6848; + border-color: #0f6848; +} + +.list-group-item-info { + color: #1c606a; + background-color: #c7ebf1; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #1c606a; + background-color: #b3e4ec; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #1c606a; + border-color: #1c606a; +} + +.list-group-item-warning { + color: #806520; + background-color: #fceec9; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #806520; + background-color: #fbe6b1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #806520; + border-color: #806520; +} + +.list-group-item-danger { + color: #78261f; + background-color: #f8ccc8; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #78261f; + background-color: #f5b7b1; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #78261f; + border-color: #78261f; +} + +.list-group-item-light { + color: #818183; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818183; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818183; + border-color: #818183; +} + +.list-group-item-dark { + color: #2f3037; + background-color: #d1d1d5; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #2f3037; + background-color: #c4c4c9; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #2f3037; + border-color: #2f3037; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.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 { + flex-basis: 350px; + max-width: 350px; + 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); + opacity: 0; + border-radius: 0.25rem; +} + +.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: #858796; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.toast-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: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + 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% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + height: -webkit-min-content; + height: -moz-min-content; + 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: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #e3e6f0; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.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: 1px solid #e3e6f0; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.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: -webkit-min-content; + height: -moz-min-content; + height: min-content; + } + .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: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.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: #000; +} + +.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: #000; +} + +.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: #000; +} + +.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: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.35rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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.2); + border-radius: 0.3rem; +} + +.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; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #858796; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: 50% / 100% 100% no-repeat; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: .75s linear infinite spinner-border; + animation: .75s linear infinite spinner-border; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: .75s linear infinite spinner-grow; + animation: .75s linear infinite spinner-grow; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} + +.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: #4e73df !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #2653d4 !important; +} + +.bg-secondary { + background-color: #858796 !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #6b6d7d !important; +} + +.bg-success { + background-color: #1cc88a !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #169b6b !important; +} + +.bg-info { + background-color: #36b9cc !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #2a96a5 !important; +} + +.bg-warning { + background-color: #f6c23e !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #f4b30d !important; +} + +.bg-danger { + background-color: #e74a3b !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #d52a1a !important; +} + +.bg-light { + background-color: #f8f9fc !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #d4daed !important; +} + +.bg-dark { + background-color: #5a5c69 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #42444e !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #e3e6f0 !important; +} + +.border-top { + border-top: 1px solid #e3e6f0 !important; +} + +.border-right { + border-right: 1px solid #e3e6f0 !important; +} + +.border-bottom { + border-bottom: 1px solid #e3e6f0 !important; +} + +.border-left { + border-left: 1px solid #e3e6f0 !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: #4e73df !important; +} + +.border-secondary { + border-color: #858796 !important; +} + +.border-success { + border-color: #1cc88a !important; +} + +.border-info { + border-color: #36b9cc !important; +} + +.border-warning { + border-color: #f6c23e !important; +} + +.border-danger { + border-color: #e74a3b !important; +} + +.border-light { + border-color: #f8f9fc !important; +} + +.border-dark { + border-color: #5a5c69 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.35rem !important; +} + +.rounded-top { + border-top-left-radius: 0.35rem !important; + border-top-right-radius: 0.35rem !important; +} + +.rounded-right { + border-top-right-radius: 0.35rem !important; + border-bottom-right-radius: 0.35rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.35rem !important; + border-bottom-left-radius: 0.35rem !important; +} + +.rounded-left { + border-top-left-radius: 0.35rem !important; + border-bottom-left-radius: 0.35rem !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 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; + } +} + +.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; + } +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + -ms-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + 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: -webkit-sticky !important; + 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: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + 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 0.125rem 0.25rem 0 rgba(58, 59, 69, 0.2) !important; +} + +.shadow { + box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !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; + } +} + +.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; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase, .dropdown .dropdown-menu .dropdown-header, .sidebar .sidebar-heading { + 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: #4e73df !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #224abe !important; +} + +.text-secondary { + color: #858796 !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #60616f !important; +} + +.text-success { + color: #1cc88a !important; +} + +a.text-success:hover, a.text-success:focus { + color: #13855c !important; +} + +.text-info { + color: #36b9cc !important; +} + +a.text-info:hover, a.text-info:focus { + color: #258391 !important; +} + +.text-warning { + color: #f6c23e !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #dda20a !important; +} + +.text-danger { + color: #e74a3b !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #be2617 !important; +} + +.text-light { + color: #f8f9fc !important; +} + +a.text-light:hover, a.text-light:focus { + color: #c2cbe5 !important; +} + +.text-dark { + color: #5a5c69 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #373840 !important; +} + +.text-body { + color: #858796 !important; +} + +.text-muted { + color: #858796 !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-break: break-word !important; + 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 #b7b9cc; + 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 #dddfeb !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #e3e6f0; + } + .table .thead-dark th { + color: inherit; + border-color: #e3e6f0; + } +} + +html { + position: relative; + min-height: 100%; +} + +body { + height: 100%; +} + +a:focus { + outline: none; +} + +#wrapper { + display: flex; +} + +#wrapper #content-wrapper { + background-color: #f8f9fc; + width: 100%; + overflow-x: hidden; +} + +#wrapper #content-wrapper #content { + flex: 1 0 auto; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.scroll-to-top { + position: fixed; + right: 1rem; + bottom: 1rem; + display: none; + width: 2.75rem; + height: 2.75rem; + text-align: center; + color: #fff; + background: rgba(90, 92, 105, 0.5); + line-height: 46px; +} + +.scroll-to-top:focus, .scroll-to-top:hover { + color: white; +} + +.scroll-to-top:hover { + background: #5a5c69; +} + +.scroll-to-top i { + font-weight: 800; +} + +@-webkit-keyframes growIn { + 0% { + transform: scale(0.9); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +@keyframes growIn { + 0% { + transform: scale(0.9); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +.animated--grow-in, .sidebar .nav-item .collapse { + -webkit-animation-name: growIn; + animation-name: growIn; + -webkit-animation-duration: 200ms; + animation-duration: 200ms; + -webkit-animation-timing-function: transform cubic-bezier(0.18, 1.25, 0.4, 1), opacity cubic-bezier(0, 1, 0.4, 1); + animation-timing-function: transform cubic-bezier(0.18, 1.25, 0.4, 1), opacity cubic-bezier(0, 1, 0.4, 1); +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +.animated--fade-in { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; + -webkit-animation-duration: 200ms; + animation-duration: 200ms; + -webkit-animation-timing-function: opacity cubic-bezier(0, 1, 0.4, 1); + animation-timing-function: opacity cubic-bezier(0, 1, 0.4, 1); +} + +.bg-gradient-primary { + background-color: #4e73df; + background-image: linear-gradient(180deg, #4e73df 10%, #224abe 100%); + background-size: cover; +} + +.bg-gradient-secondary { + background-color: #858796; + background-image: linear-gradient(180deg, #858796 10%, #60616f 100%); + background-size: cover; +} + +.bg-gradient-success { + background-color: #1cc88a; + background-image: linear-gradient(180deg, #1cc88a 10%, #13855c 100%); + background-size: cover; +} + +.bg-gradient-info { + background-color: #36b9cc; + background-image: linear-gradient(180deg, #36b9cc 10%, #258391 100%); + background-size: cover; +} + +.bg-gradient-warning { + background-color: #f6c23e; + background-image: linear-gradient(180deg, #f6c23e 10%, #dda20a 100%); + background-size: cover; +} + +.bg-gradient-danger { + background-color: #e74a3b; + background-image: linear-gradient(180deg, #e74a3b 10%, #be2617 100%); + background-size: cover; +} + +.bg-gradient-light { + background-color: #f8f9fc; + background-image: linear-gradient(180deg, #f8f9fc 10%, #c2cbe5 100%); + background-size: cover; +} + +.bg-gradient-dark { + background-color: #5a5c69; + background-image: linear-gradient(180deg, #5a5c69 10%, #373840 100%); + background-size: cover; +} + +.bg-gray-100 { + background-color: #f8f9fc !important; +} + +.bg-gray-200 { + background-color: #eaecf4 !important; +} + +.bg-gray-300 { + background-color: #dddfeb !important; +} + +.bg-gray-400 { + background-color: #d1d3e2 !important; +} + +.bg-gray-500 { + background-color: #b7b9cc !important; +} + +.bg-gray-600 { + background-color: #858796 !important; +} + +.bg-gray-700 { + background-color: #6e707e !important; +} + +.bg-gray-800 { + background-color: #5a5c69 !important; +} + +.bg-gray-900 { + background-color: #3a3b45 !important; +} + +.o-hidden { + overflow: hidden !important; +} + +.text-xs { + font-size: .7rem; +} + +.text-lg { + font-size: 1.2rem; +} + +.text-gray-100 { + color: #f8f9fc !important; +} + +.text-gray-200 { + color: #eaecf4 !important; +} + +.text-gray-300 { + color: #dddfeb !important; +} + +.text-gray-400 { + color: #d1d3e2 !important; +} + +.text-gray-500 { + color: #b7b9cc !important; +} + +.text-gray-600 { + color: #858796 !important; +} + +.text-gray-700 { + color: #6e707e !important; +} + +.text-gray-800 { + color: #5a5c69 !important; +} + +.text-gray-900 { + color: #3a3b45 !important; +} + +.icon-circle { + height: 2.5rem; + width: 2.5rem; + border-radius: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.border-left-primary { + border-left: 0.25rem solid #4e73df !important; +} + +.border-bottom-primary { + border-bottom: 0.25rem solid #4e73df !important; +} + +.border-left-secondary { + border-left: 0.25rem solid #858796 !important; +} + +.border-bottom-secondary { + border-bottom: 0.25rem solid #858796 !important; +} + +.border-left-success { + border-left: 0.25rem solid #1cc88a !important; +} + +.border-bottom-success { + border-bottom: 0.25rem solid #1cc88a !important; +} + +.border-left-info { + border-left: 0.25rem solid #36b9cc !important; +} + +.border-bottom-info { + border-bottom: 0.25rem solid #36b9cc !important; +} + +.border-left-warning { + border-left: 0.25rem solid #f6c23e !important; +} + +.border-bottom-warning { + border-bottom: 0.25rem solid #f6c23e !important; +} + +.border-left-danger { + border-left: 0.25rem solid #e74a3b !important; +} + +.border-bottom-danger { + border-bottom: 0.25rem solid #e74a3b !important; +} + +.border-left-light { + border-left: 0.25rem solid #f8f9fc !important; +} + +.border-bottom-light { + border-bottom: 0.25rem solid #f8f9fc !important; +} + +.border-left-dark { + border-left: 0.25rem solid #5a5c69 !important; +} + +.border-bottom-dark { + border-bottom: 0.25rem solid #5a5c69 !important; +} + +.progress-sm { + height: .5rem; +} + +.rotate-15 { + transform: rotate(15deg); +} + +.rotate-n-15 { + transform: rotate(-15deg); +} + +.dropdown .dropdown-menu { + font-size: 0.85rem; +} + +.dropdown .dropdown-menu .dropdown-header { + font-weight: 800; + font-size: 0.65rem; + color: #b7b9cc; +} + +.dropdown.no-arrow .dropdown-toggle::after { + display: none; +} + +.sidebar .nav-item.dropdown .dropdown-toggle::after, +.topbar .nav-item.dropdown .dropdown-toggle::after { + width: 1rem; + text-align: center; + float: right; + vertical-align: 0; + border: 0; + font-weight: 900; + content: '\f105'; + font-family: 'Font Awesome 5 Free'; +} + +.sidebar .nav-item.dropdown.show .dropdown-toggle::after, +.topbar .nav-item.dropdown.show .dropdown-toggle::after { + content: '\f107'; +} + +.sidebar .nav-item .nav-link, +.topbar .nav-item .nav-link { + position: relative; +} + +.sidebar .nav-item .nav-link .badge-counter, +.topbar .nav-item .nav-link .badge-counter { + position: absolute; + transform: scale(0.7); + transform-origin: top right; + right: .25rem; + margin-top: -.25rem; +} + +.sidebar .nav-item .nav-link .img-profile, +.topbar .nav-item .nav-link .img-profile { + height: 2rem; + width: 2rem; +} + +.topbar { + height: 4.375rem; +} + +.topbar #sidebarToggleTop { + height: 2.5rem; + width: 2.5rem; +} + +.topbar #sidebarToggleTop:hover { + background-color: #eaecf4; +} + +.topbar #sidebarToggleTop:active { + background-color: #dddfeb; +} + +.topbar .navbar-search { + width: 25rem; +} + +.topbar .navbar-search input { + font-size: 0.85rem; + height: auto; +} + +.topbar .topbar-divider { + width: 0; + border-right: 1px solid #e3e6f0; + height: calc(4.375rem - 2rem); + margin: auto 1rem; +} + +.topbar .nav-item .nav-link { + height: 4.375rem; + display: flex; + align-items: center; + padding: 0 0.75rem; +} + +.topbar .nav-item .nav-link:focus { + outline: none; +} + +.topbar .nav-item:focus { + outline: none; +} + +.topbar .dropdown { + position: static; +} + +.topbar .dropdown .dropdown-menu { + width: calc(100% - 1.5rem); + right: 0.75rem; +} + +.topbar .dropdown-list { + padding: 0; + border: none; + overflow: hidden; +} + +.topbar .dropdown-list .dropdown-header { + background-color: #4e73df; + border: 1px solid #4e73df; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #fff; +} + +.topbar .dropdown-list .dropdown-item { + white-space: normal; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + border-left: 1px solid #e3e6f0; + border-right: 1px solid #e3e6f0; + border-bottom: 1px solid #e3e6f0; + line-height: 1.3rem; +} + +.topbar .dropdown-list .dropdown-item .dropdown-list-image { + position: relative; + height: 2.5rem; + width: 2.5rem; +} + +.topbar .dropdown-list .dropdown-item .dropdown-list-image img { + height: 2.5rem; + width: 2.5rem; +} + +.topbar .dropdown-list .dropdown-item .dropdown-list-image .status-indicator { + background-color: #eaecf4; + height: 0.75rem; + width: 0.75rem; + border-radius: 100%; + position: absolute; + bottom: 0; + right: 0; + border: 0.125rem solid #fff; +} + +.topbar .dropdown-list .dropdown-item .text-truncate { + max-width: 10rem; +} + +.topbar .dropdown-list .dropdown-item:active { + background-color: #eaecf4; + color: #3a3b45; +} + +@media (min-width: 576px) { + .topbar .dropdown { + position: relative; + } + .topbar .dropdown .dropdown-menu { + width: auto; + right: 0; + } + .topbar .dropdown-list { + width: 20rem !important; + } + .topbar .dropdown-list .dropdown-item .text-truncate { + max-width: 13.375rem; + } +} + +.topbar.navbar-dark .navbar-nav .nav-item .nav-link { + color: rgba(255, 255, 255, 0.8); +} + +.topbar.navbar-dark .navbar-nav .nav-item .nav-link:hover { + color: #fff; +} + +.topbar.navbar-dark .navbar-nav .nav-item .nav-link:active { + color: #fff; +} + +.topbar.navbar-light .navbar-nav .nav-item .nav-link { + color: #d1d3e2; +} + +.topbar.navbar-light .navbar-nav .nav-item .nav-link:hover { + color: #b7b9cc; +} + +.topbar.navbar-light .navbar-nav .nav-item .nav-link:active { + color: #858796; +} + +.sidebar { + width: 6.5rem; + min-height: 100vh; +} + +.sidebar .nav-item { + position: relative; +} + +.sidebar .nav-item:last-child { + margin-bottom: 1rem; +} + +.sidebar .nav-item .nav-link { + text-align: center; + padding: 0.75rem 1rem; + width: 6.5rem; +} + +.sidebar .nav-item .nav-link span { + font-size: 0.65rem; + display: block; +} + +.sidebar .nav-item.active .nav-link { + font-weight: 700; +} + +.sidebar .nav-item .collapse { + position: absolute; + left: calc(6.5rem + 1.5rem / 2); + z-index: 1; + top: 2px; +} + +.sidebar .nav-item .collapse .collapse-inner { + border-radius: 0.35rem; + box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15); +} + +.sidebar .nav-item .collapsing { + display: none; + transition: none; +} + +.sidebar .nav-item .collapse .collapse-inner, +.sidebar .nav-item .collapsing .collapse-inner { + padding: .5rem 0; + min-width: 10rem; + font-size: 0.85rem; + margin: 0 0 1rem 0; +} + +.sidebar .nav-item .collapse .collapse-inner .collapse-header, +.sidebar .nav-item .collapsing .collapse-inner .collapse-header { + margin: 0; + white-space: nowrap; + padding: .5rem 1.5rem; + text-transform: uppercase; + font-weight: 800; + font-size: 0.65rem; + color: #b7b9cc; +} + +.sidebar .nav-item .collapse .collapse-inner .collapse-item, +.sidebar .nav-item .collapsing .collapse-inner .collapse-item { + padding: 0.5rem 1rem; + margin: 0 0.5rem; + display: block; + color: #3a3b45; + text-decoration: none; + border-radius: 0.35rem; + white-space: nowrap; +} + +.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover, +.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover { + background-color: #eaecf4; +} + +.sidebar .nav-item .collapse .collapse-inner .collapse-item:active, +.sidebar .nav-item .collapsing .collapse-inner .collapse-item:active { + background-color: #dddfeb; +} + +.sidebar .nav-item .collapse .collapse-inner .collapse-item.active, +.sidebar .nav-item .collapsing .collapse-inner .collapse-item.active { + color: #4e73df; + font-weight: 700; +} + +.sidebar #sidebarToggle { + width: 2.5rem; + height: 2.5rem; + text-align: center; + margin-bottom: 1rem; + cursor: pointer; +} + +.sidebar #sidebarToggle::after { + font-weight: 900; + content: '\f104'; + font-family: 'Font Awesome 5 Free'; + margin-right: 0.1rem; +} + +.sidebar #sidebarToggle:hover { + text-decoration: none; +} + +.sidebar #sidebarToggle:focus { + outline: none; +} + +.sidebar.toggled { + width: 0 !important; + overflow: hidden; +} + +.sidebar.toggled #sidebarToggle::after { + content: '\f105'; + font-family: 'Font Awesome 5 Free'; + margin-left: 0.25rem; +} + +.sidebar.toggled .sidebar-card { + display: none; +} + +.sidebar .sidebar-brand { + height: 4.375rem; + text-decoration: none; + font-size: 1rem; + font-weight: 800; + padding: 1.5rem 1rem; + text-align: center; + text-transform: uppercase; + letter-spacing: 0.05rem; + z-index: 1; +} + +.sidebar .sidebar-brand .sidebar-brand-icon i { + font-size: 2rem; +} + +.sidebar .sidebar-brand .sidebar-brand-text { + display: none; +} + +.sidebar hr.sidebar-divider { + margin: 0 1rem 1rem; +} + +.sidebar .sidebar-heading { + text-align: center; + padding: 0 1rem; + font-weight: 800; + font-size: 0.65rem; +} + +.sidebar .sidebar-card { + display: flex; + flex-direction: column; + align-items: center; + font-size: 0.875rem; + border-radius: 0.35rem; + color: rgba(255, 255, 255, 0.8); + margin-left: 1rem; + margin-right: 1rem; + margin-bottom: 1rem; + padding: 1rem; + background-color: rgba(0, 0, 0, 0.1); +} + +.sidebar .sidebar-card .sidebar-card-illustration { + height: 3rem; + display: block; +} + +.sidebar .sidebar-card .sidebar-card-title { + font-weight: bold; +} + +.sidebar .sidebar-card p { + font-size: 0.75rem; + color: rgba(255, 255, 255, 0.5); +} + +@media (min-width: 768px) { + .sidebar { + width: 14rem !important; + } + .sidebar .nav-item .collapse { + position: relative; + left: 0; + z-index: 1; + top: 0; + -webkit-animation: none; + animation: none; + } + .sidebar .nav-item .collapse .collapse-inner { + border-radius: 0; + box-shadow: none; + } + .sidebar .nav-item .collapsing { + display: block; + transition: height 0.15s ease; + } + .sidebar .nav-item .collapse, + .sidebar .nav-item .collapsing { + margin: 0 1rem; + } + .sidebar .nav-item .nav-link { + display: block; + width: 100%; + text-align: left; + padding: 1rem; + width: 14rem; + } + .sidebar .nav-item .nav-link i { + font-size: 0.85rem; + margin-right: 0.25rem; + } + .sidebar .nav-item .nav-link span { + font-size: 0.85rem; + display: inline; + } + .sidebar .nav-item .nav-link[data-toggle="collapse"]::after { + width: 1rem; + text-align: center; + float: right; + vertical-align: 0; + border: 0; + font-weight: 900; + content: '\f107'; + font-family: 'Font Awesome 5 Free'; + } + .sidebar .nav-item .nav-link[data-toggle="collapse"].collapsed::after { + content: '\f105'; + } + .sidebar .sidebar-brand .sidebar-brand-icon i { + font-size: 2rem; + } + .sidebar .sidebar-brand .sidebar-brand-text { + display: inline; + } + .sidebar .sidebar-heading { + text-align: left; + } + .sidebar.toggled { + overflow: visible; + width: 6.5rem !important; + } + .sidebar.toggled .nav-item .collapse { + position: absolute; + left: calc(6.5rem + 1.5rem / 2); + z-index: 1; + top: 2px; + -webkit-animation-name: growIn; + animation-name: growIn; + -webkit-animation-duration: 200ms; + animation-duration: 200ms; + -webkit-animation-timing-function: transform cubic-bezier(0.18, 1.25, 0.4, 1), opacity cubic-bezier(0, 1, 0.4, 1); + animation-timing-function: transform cubic-bezier(0.18, 1.25, 0.4, 1), opacity cubic-bezier(0, 1, 0.4, 1); + } + .sidebar.toggled .nav-item .collapse .collapse-inner { + box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15); + border-radius: 0.35rem; + } + .sidebar.toggled .nav-item .collapsing { + display: none; + transition: none; + } + .sidebar.toggled .nav-item .collapse, + .sidebar.toggled .nav-item .collapsing { + margin: 0; + } + .sidebar.toggled .nav-item:last-child { + margin-bottom: 1rem; + } + .sidebar.toggled .nav-item .nav-link { + text-align: center; + padding: 0.75rem 1rem; + width: 6.5rem; + } + .sidebar.toggled .nav-item .nav-link span { + font-size: 0.65rem; + display: block; + } + .sidebar.toggled .nav-item .nav-link i { + margin-right: 0; + } + .sidebar.toggled .nav-item .nav-link[data-toggle="collapse"]::after { + display: none; + } + .sidebar.toggled .sidebar-brand .sidebar-brand-icon i { + font-size: 2rem; + } + .sidebar.toggled .sidebar-brand .sidebar-brand-text { + display: none; + } + .sidebar.toggled .sidebar-heading { + text-align: center; + } +} + +.sidebar-light .sidebar-brand { + color: #6e707e; +} + +.sidebar-light hr.sidebar-divider { + border-top: 1px solid #eaecf4; +} + +.sidebar-light .sidebar-heading { + color: #b7b9cc; +} + +.sidebar-light .nav-item .nav-link { + color: #858796; +} + +.sidebar-light .nav-item .nav-link i { + color: #d1d3e2; +} + +.sidebar-light .nav-item .nav-link:active, .sidebar-light .nav-item .nav-link:focus, .sidebar-light .nav-item .nav-link:hover { + color: #6e707e; +} + +.sidebar-light .nav-item .nav-link:active i, .sidebar-light .nav-item .nav-link:focus i, .sidebar-light .nav-item .nav-link:hover i { + color: #6e707e; +} + +.sidebar-light .nav-item .nav-link[data-toggle="collapse"]::after { + color: #b7b9cc; +} + +.sidebar-light .nav-item.active .nav-link { + color: #6e707e; +} + +.sidebar-light .nav-item.active .nav-link i { + color: #6e707e; +} + +.sidebar-light #sidebarToggle { + background-color: #eaecf4; +} + +.sidebar-light #sidebarToggle::after { + color: #b7b9cc; +} + +.sidebar-light #sidebarToggle:hover { + background-color: #dddfeb; +} + +.sidebar-dark .sidebar-brand { + color: #fff; +} + +.sidebar-dark hr.sidebar-divider { + border-top: 1px solid rgba(255, 255, 255, 0.15); +} + +.sidebar-dark .sidebar-heading { + color: rgba(255, 255, 255, 0.4); +} + +.sidebar-dark .nav-item .nav-link { + color: rgba(255, 255, 255, 0.8); +} + +.sidebar-dark .nav-item .nav-link i { + color: rgba(255, 255, 255, 0.3); +} + +.sidebar-dark .nav-item .nav-link:active, .sidebar-dark .nav-item .nav-link:focus, .sidebar-dark .nav-item .nav-link:hover { + color: #fff; +} + +.sidebar-dark .nav-item .nav-link:active i, .sidebar-dark .nav-item .nav-link:focus i, .sidebar-dark .nav-item .nav-link:hover i { + color: #fff; +} + +.sidebar-dark .nav-item .nav-link[data-toggle="collapse"]::after { + color: rgba(255, 255, 255, 0.5); +} + +.sidebar-dark .nav-item.active .nav-link { + color: #fff; +} + +.sidebar-dark .nav-item.active .nav-link i { + color: #fff; +} + +.sidebar-dark #sidebarToggle { + background-color: rgba(255, 255, 255, 0.2); +} + +.sidebar-dark #sidebarToggle::after { + color: rgba(255, 255, 255, 0.5); +} + +.sidebar-dark #sidebarToggle:hover { + background-color: rgba(255, 255, 255, 0.25); +} + +.sidebar-dark.toggled #sidebarToggle::after { + color: rgba(255, 255, 255, 0.5); +} + +.btn-circle { + border-radius: 100%; + height: 2.5rem; + width: 2.5rem; + font-size: 1rem; + display: inline-flex; + align-items: center; + justify-content: center; +} + +.btn-circle.btn-sm, .btn-group-sm > .btn-circle.btn { + height: 1.8rem; + width: 1.8rem; + font-size: 0.75rem; +} + +.btn-circle.btn-lg, .btn-group-lg > .btn-circle.btn { + height: 3.5rem; + width: 3.5rem; + font-size: 1.35rem; +} + +.btn-icon-split { + padding: 0; + overflow: hidden; + display: inline-flex; + align-items: stretch; + justify-content: center; +} + +.btn-icon-split .icon { + background: rgba(0, 0, 0, 0.15); + display: inline-block; + padding: 0.375rem 0.75rem; +} + +.btn-icon-split .text { + display: inline-block; + padding: 0.375rem 0.75rem; +} + +.btn-icon-split.btn-sm .icon, .btn-group-sm > .btn-icon-split.btn .icon { + padding: 0.25rem 0.5rem; +} + +.btn-icon-split.btn-sm .text, .btn-group-sm > .btn-icon-split.btn .text { + padding: 0.25rem 0.5rem; +} + +.btn-icon-split.btn-lg .icon, .btn-group-lg > .btn-icon-split.btn .icon { + padding: 0.5rem 1rem; +} + +.btn-icon-split.btn-lg .text, .btn-group-lg > .btn-icon-split.btn .text { + padding: 0.5rem 1rem; +} + +.card .card-header .dropdown { + line-height: 1; +} + +.card .card-header .dropdown .dropdown-menu { + line-height: 1.5; +} + +.card .card-header[data-toggle="collapse"] { + text-decoration: none; + position: relative; + padding: 0.75rem 3.25rem 0.75rem 1.25rem; +} + +.card .card-header[data-toggle="collapse"]::after { + position: absolute; + right: 0; + top: 0; + padding-right: 1.725rem; + line-height: 51px; + font-weight: 900; + content: '\f107'; + font-family: 'Font Awesome 5 Free'; + color: #d1d3e2; +} + +.card .card-header[data-toggle="collapse"].collapsed { + border-radius: 0.35rem; +} + +.card .card-header[data-toggle="collapse"].collapsed::after { + content: '\f105'; +} + +.chart-area { + position: relative; + height: 10rem; + width: 100%; +} + +@media (min-width: 768px) { + .chart-area { + height: 20rem; + } +} + +.chart-bar { + position: relative; + height: 10rem; + width: 100%; +} + +@media (min-width: 768px) { + .chart-bar { + height: 20rem; + } +} + +.chart-pie { + position: relative; + height: 15rem; + width: 100%; +} + +@media (min-width: 768px) { + .chart-pie { + height: calc(20rem - 43px) !important; + } +} + +.bg-login-image { + background: url("https://source.unsplash.com/K4mSJ7kc0As/600x800"); + background-position: center; + background-size: cover; +} + +.bg-register-image { + background: url("https://source.unsplash.com/Mv9hjnEUHR4/600x800"); + background-position: center; + background-size: cover; +} + +.bg-password-image { + background: url("https://source.unsplash.com/oWTW-jNGl9I/600x800"); + background-position: center; + background-size: cover; +} + +form.user .custom-checkbox.small label { + line-height: 1.5rem; +} + +form.user .form-control-user { + font-size: 0.8rem; + border-radius: 10rem; + padding: 1.5rem 1rem; +} + +form.user .btn-user { + font-size: 0.8rem; + border-radius: 10rem; + padding: 0.75rem 1rem; +} + +.btn-google { + color: #fff; + background-color: #ea4335; + border-color: #fff; +} + +.btn-google:hover { + color: #fff; + background-color: #e12717; + border-color: #e6e6e6; +} + +.btn-google:focus, .btn-google.focus { + color: #fff; + background-color: #e12717; + border-color: #e6e6e6; + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-google.disabled, .btn-google:disabled { + color: #fff; + background-color: #ea4335; + border-color: #fff; +} + +.btn-google:not(:disabled):not(.disabled):active, .btn-google:not(:disabled):not(.disabled).active, +.show > .btn-google.dropdown-toggle { + color: #fff; + background-color: #d62516; + border-color: #dfdfdf; +} + +.btn-google:not(:disabled):not(.disabled):active:focus, .btn-google:not(:disabled):not(.disabled).active:focus, +.show > .btn-google.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-facebook { + color: #fff; + background-color: #3b5998; + border-color: #fff; +} + +.btn-facebook:hover { + color: #fff; + background-color: #30497c; + border-color: #e6e6e6; +} + +.btn-facebook:focus, .btn-facebook.focus { + color: #fff; + background-color: #30497c; + border-color: #e6e6e6; + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.btn-facebook.disabled, .btn-facebook:disabled { + color: #fff; + background-color: #3b5998; + border-color: #fff; +} + +.btn-facebook:not(:disabled):not(.disabled):active, .btn-facebook:not(:disabled):not(.disabled).active, +.show > .btn-facebook.dropdown-toggle { + color: #fff; + background-color: #2d4373; + border-color: #dfdfdf; +} + +.btn-facebook:not(:disabled):not(.disabled):active:focus, .btn-facebook:not(:disabled):not(.disabled).active:focus, +.show > .btn-facebook.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); +} + +.error { + color: #5a5c69; + font-size: 7rem; + position: relative; + line-height: 1; + width: 12.5rem; +} + +@-webkit-keyframes noise-anim { + 0% { + clip: rect(81px, 9999px, 74px, 0); + } + 5% { + clip: rect(2px, 9999px, 29px, 0); + } + 10% { + clip: rect(1px, 9999px, 15px, 0); + } + 15% { + clip: rect(50px, 9999px, 8px, 0); + } + 20% { + clip: rect(99px, 9999px, 79px, 0); + } + 25% { + clip: rect(85px, 9999px, 15px, 0); + } + 30% { + clip: rect(41px, 9999px, 53px, 0); + } + 35% { + clip: rect(22px, 9999px, 36px, 0); + } + 40% { + clip: rect(73px, 9999px, 79px, 0); + } + 45% { + clip: rect(82px, 9999px, 100px, 0); + } + 50% { + clip: rect(47px, 9999px, 96px, 0); + } + 55% { + clip: rect(10px, 9999px, 44px, 0); + } + 60% { + clip: rect(7px, 9999px, 24px, 0); + } + 65% { + clip: rect(29px, 9999px, 88px, 0); + } + 70% { + clip: rect(12px, 9999px, 44px, 0); + } + 75% { + clip: rect(25px, 9999px, 57px, 0); + } + 80% { + clip: rect(38px, 9999px, 35px, 0); + } + 85% { + clip: rect(20px, 9999px, 96px, 0); + } + 90% { + clip: rect(58px, 9999px, 44px, 0); + } + 95% { + clip: rect(72px, 9999px, 41px, 0); + } + 100% { + clip: rect(69px, 9999px, 72px, 0); + } +} + +@keyframes noise-anim { + 0% { + clip: rect(81px, 9999px, 74px, 0); + } + 5% { + clip: rect(2px, 9999px, 29px, 0); + } + 10% { + clip: rect(1px, 9999px, 15px, 0); + } + 15% { + clip: rect(50px, 9999px, 8px, 0); + } + 20% { + clip: rect(99px, 9999px, 79px, 0); + } + 25% { + clip: rect(85px, 9999px, 15px, 0); + } + 30% { + clip: rect(41px, 9999px, 53px, 0); + } + 35% { + clip: rect(22px, 9999px, 36px, 0); + } + 40% { + clip: rect(73px, 9999px, 79px, 0); + } + 45% { + clip: rect(82px, 9999px, 100px, 0); + } + 50% { + clip: rect(47px, 9999px, 96px, 0); + } + 55% { + clip: rect(10px, 9999px, 44px, 0); + } + 60% { + clip: rect(7px, 9999px, 24px, 0); + } + 65% { + clip: rect(29px, 9999px, 88px, 0); + } + 70% { + clip: rect(12px, 9999px, 44px, 0); + } + 75% { + clip: rect(25px, 9999px, 57px, 0); + } + 80% { + clip: rect(38px, 9999px, 35px, 0); + } + 85% { + clip: rect(20px, 9999px, 96px, 0); + } + 90% { + clip: rect(58px, 9999px, 44px, 0); + } + 95% { + clip: rect(72px, 9999px, 41px, 0); + } + 100% { + clip: rect(69px, 9999px, 72px, 0); + } +} + +.error:after { + content: attr(data-text); + position: absolute; + left: 2px; + text-shadow: -1px 0 #e74a3b; + top: 0; + color: #5a5c69; + background: #f8f9fc; + overflow: hidden; + clip: rect(0, 900px, 0, 0); + animation: noise-anim 2s infinite linear alternate-reverse; +} + +@-webkit-keyframes noise-anim-2 { + 0% { + clip: rect(82px, 9999px, 93px, 0); + } + 5% { + clip: rect(13px, 9999px, 71px, 0); + } + 10% { + clip: rect(22px, 9999px, 90px, 0); + } + 15% { + clip: rect(17px, 9999px, 11px, 0); + } + 20% { + clip: rect(21px, 9999px, 91px, 0); + } + 25% { + clip: rect(37px, 9999px, 33px, 0); + } + 30% { + clip: rect(37px, 9999px, 80px, 0); + } + 35% { + clip: rect(6px, 9999px, 49px, 0); + } + 40% { + clip: rect(86px, 9999px, 60px, 0); + } + 45% { + clip: rect(46px, 9999px, 83px, 0); + } + 50% { + clip: rect(16px, 9999px, 83px, 0); + } + 55% { + clip: rect(73px, 9999px, 36px, 0); + } + 60% { + clip: rect(58px, 9999px, 98px, 0); + } + 65% { + clip: rect(20px, 9999px, 93px, 0); + } + 70% { + clip: rect(43px, 9999px, 67px, 0); + } + 75% { + clip: rect(66px, 9999px, 75px, 0); + } + 80% { + clip: rect(66px, 9999px, 41px, 0); + } + 85% { + clip: rect(17px, 9999px, 47px, 0); + } + 90% { + clip: rect(49px, 9999px, 68px, 0); + } + 95% { + clip: rect(8px, 9999px, 85px, 0); + } + 100% { + clip: rect(83px, 9999px, 50px, 0); + } +} + +@keyframes noise-anim-2 { + 0% { + clip: rect(82px, 9999px, 93px, 0); + } + 5% { + clip: rect(13px, 9999px, 71px, 0); + } + 10% { + clip: rect(22px, 9999px, 90px, 0); + } + 15% { + clip: rect(17px, 9999px, 11px, 0); + } + 20% { + clip: rect(21px, 9999px, 91px, 0); + } + 25% { + clip: rect(37px, 9999px, 33px, 0); + } + 30% { + clip: rect(37px, 9999px, 80px, 0); + } + 35% { + clip: rect(6px, 9999px, 49px, 0); + } + 40% { + clip: rect(86px, 9999px, 60px, 0); + } + 45% { + clip: rect(46px, 9999px, 83px, 0); + } + 50% { + clip: rect(16px, 9999px, 83px, 0); + } + 55% { + clip: rect(73px, 9999px, 36px, 0); + } + 60% { + clip: rect(58px, 9999px, 98px, 0); + } + 65% { + clip: rect(20px, 9999px, 93px, 0); + } + 70% { + clip: rect(43px, 9999px, 67px, 0); + } + 75% { + clip: rect(66px, 9999px, 75px, 0); + } + 80% { + clip: rect(66px, 9999px, 41px, 0); + } + 85% { + clip: rect(17px, 9999px, 47px, 0); + } + 90% { + clip: rect(49px, 9999px, 68px, 0); + } + 95% { + clip: rect(8px, 9999px, 85px, 0); + } + 100% { + clip: rect(83px, 9999px, 50px, 0); + } +} + +.error:before { + content: attr(data-text); + position: absolute; + left: -2px; + text-shadow: 1px 0 #4e73df; + top: 0; + color: #5a5c69; + background: #f8f9fc; + overflow: hidden; + clip: rect(0, 900px, 0, 0); + animation: noise-anim-2 3s infinite linear alternate-reverse; +} + +footer.sticky-footer { + padding: 2rem 0; + flex-shrink: 0; +} + +footer.sticky-footer .copyright { + line-height: 1; + font-size: 0.8rem; +} + +body.sidebar-toggled footer.sticky-footer { + width: 100%; +} diff --git a/public/css/sb-admin-2.min.css b/public/css/sb-admin-2.min.css new file mode 100644 index 0000000..ad0befa --- /dev/null +++ b/public/css/sb-admin-2.min.css @@ -0,0 +1,2 @@ + + */:root{--blue:#4e73df;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#e74a3b;--orange:#fd7e14;--yellow:#f6c23e;--green:#1cc88a;--teal:#20c9a6;--cyan:#36b9cc;--white:#fff;--gray:#858796;--gray-dark:#5a5c69;--primary:#4e73df;--secondary:#858796;--success:#1cc88a;--info:#36b9cc;--warning:#f6c23e;--danger:#e74a3b;--light:#f8f9fc;--dark:#5a5c69;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,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}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,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:#858796;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:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}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:#4e73df;text-decoration:none;background-color:transparent}a:hover{color:#224abe;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,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:.75rem;padding-bottom:.75rem;color:#858796;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{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}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:.5rem;font-weight:400;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#858796}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dddfeb;border-radius:.35rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#858796}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#3a3b45;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#3a3b45}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-.75rem;margin-left:-.75rem}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:.75rem;padding-left:.75rem}.col{flex-basis:0;flex-grow:1;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;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;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;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;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%}}.table{width:100%;margin-bottom:1rem;color:#858796}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #e3e6f0}.table thead th{vertical-align:bottom;border-bottom:2px solid #e3e6f0}.table tbody+tbody{border-top:2px solid #e3e6f0}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #e3e6f0}.table-bordered td,.table-bordered th{border:1px solid #e3e6f0}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#858796;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#cdd8f6}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#a3b6ee}.table-hover .table-primary:hover{background-color:#b7c7f2}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b7c7f2}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddde2}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#c0c1c8}.table-hover .table-secondary:hover{background-color:#cfcfd6}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfcfd6}.table-success,.table-success>td,.table-success>th{background-color:#bff0de}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#89e2c2}.table-hover .table-success:hover{background-color:#aaebd3}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aaebd3}.table-info,.table-info>td,.table-info>th{background-color:#c7ebf1}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#96dbe4}.table-hover .table-info:hover{background-color:#b3e4ec}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#b3e4ec}.table-warning,.table-warning>td,.table-warning>th{background-color:#fceec9}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#fadf9b}.table-hover .table-warning:hover{background-color:#fbe6b1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fbe6b1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f8ccc8}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#f3a199}.table-hover .table-danger:hover{background-color:#f5b7b1}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f5b7b1}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfd}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#d1d1d5}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#a9aab1}.table-hover .table-dark:hover{background-color:#c4c4c9}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#c4c4c9}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#5a5c69;border-color:#6c6e7e}.table .thead-light th{color:#6e707e;background-color:#eaecf4;border-color:#e3e6f0}.table-dark{color:#fff;background-color:#5a5c69}.table-dark td,.table-dark th,.table-dark thead th{border-color:#6c6e7e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@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}}.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 + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#6e707e;background-color:#fff;background-clip:padding-box;border:1px solid #d1d3e2;border-radius:.35rem;transition:border-color .15s ease-in-out,box-shadow .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 #6e707e}.form-control:focus{color:#6e707e;background-color:#fff;border-color:#bac8f3;outline:0;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}.form-control::-webkit-input-placeholder{color:#858796;opacity:1}.form-control::-moz-placeholder{color:#858796;opacity:1}.form-control:-ms-input-placeholder{color:#858796;opacity:1}.form-control::-ms-input-placeholder{color:#858796;opacity:1}.form-control::placeholder{color:#858796;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eaecf4;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#6e707e;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#858796;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.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:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#858796}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#1cc88a}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(28,200,138,.9);border-radius:.35rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#1cc88a;padding-right:calc(1.5em + .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='%231cc88a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#1cc88a;box-shadow:0 0 0 .2rem rgba(28,200,138,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#1cc88a;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff 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='%231cc88a' 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") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#1cc88a;box-shadow:0 0 0 .2rem rgba(28,200,138,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#1cc88a}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#1cc88a}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#1cc88a}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34e3a4;background-color:#34e3a4}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(28,200,138,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#1cc88a}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#1cc88a}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#1cc88a;box-shadow:0 0 0 .2rem rgba(28,200,138,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#e74a3b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(231,74,59,.9);border-radius:.35rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#e74a3b;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74a3b' 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='%23e74a3b' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e74a3b;box-shadow:0 0 0 .2rem rgba(231,74,59,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#e74a3b;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74a3b' 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='%23e74a3b' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#e74a3b;box-shadow:0 0 0 .2rem rgba(231,74,59,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e74a3b}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#e74a3b}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#e74a3b}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#ed7468;background-color:#ed7468}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(231,74,59,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#e74a3b}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#e74a3b}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#e74a3b;box-shadow:0 0 0 .2rem rgba(231,74,59,.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 .custom-select,.form-inline .input-group{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:.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-weight:400;color:#858796;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.35rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#858796;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#4e73df;border-color:#4e73df}.btn-primary:hover{color:#fff;background-color:#2e59d9;border-color:#2653d4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#2e59d9;border-color:#2653d4;box-shadow:0 0 0 .2rem rgba(105,136,228,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#4e73df;border-color:#4e73df}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#2653d4;border-color:#244ec9}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(105,136,228,.5)}.btn-secondary{color:#fff;background-color:#858796;border-color:#858796}.btn-secondary:hover{color:#fff;background-color:#717384;border-color:#6b6d7d}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#717384;border-color:#6b6d7d;box-shadow:0 0 0 .2rem rgba(151,153,166,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#858796;border-color:#858796}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#6b6d7d;border-color:#656776}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(151,153,166,.5)}.btn-success{color:#fff;background-color:#1cc88a;border-color:#1cc88a}.btn-success:hover{color:#fff;background-color:#17a673;border-color:#169b6b}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#17a673;border-color:#169b6b;box-shadow:0 0 0 .2rem rgba(62,208,156,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#1cc88a;border-color:#1cc88a}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#169b6b;border-color:#149063}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(62,208,156,.5)}.btn-info{color:#fff;background-color:#36b9cc;border-color:#36b9cc}.btn-info:hover{color:#fff;background-color:#2c9faf;border-color:#2a96a5}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#2c9faf;border-color:#2a96a5;box-shadow:0 0 0 .2rem rgba(84,196,212,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#36b9cc;border-color:#36b9cc}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#2a96a5;border-color:#278c9b}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(84,196,212,.5)}.btn-warning{color:#fff;background-color:#f6c23e;border-color:#f6c23e}.btn-warning:hover{color:#fff;background-color:#f4b619;border-color:#f4b30d}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#f4b619;border-color:#f4b30d;box-shadow:0 0 0 .2rem rgba(247,203,91,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#f6c23e;border-color:#f6c23e}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#f4b30d;border-color:#e9aa0b}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(247,203,91,.5)}.btn-danger{color:#fff;background-color:#e74a3b;border-color:#e74a3b}.btn-danger:hover{color:#fff;background-color:#e02d1b;border-color:#d52a1a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#e02d1b;border-color:#d52a1a;box-shadow:0 0 0 .2rem rgba(235,101,88,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#e74a3b;border-color:#e74a3b}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#d52a1a;border-color:#ca2819}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(235,101,88,.5)}.btn-light{color:#3a3b45;background-color:#f8f9fc;border-color:#f8f9fc}.btn-light:hover{color:#3a3b45;background-color:#dde2f1;border-color:#d4daed}.btn-light.focus,.btn-light:focus{color:#3a3b45;background-color:#dde2f1;border-color:#d4daed;box-shadow:0 0 0 .2rem rgba(220,221,225,.5)}.btn-light.disabled,.btn-light:disabled{color:#3a3b45;background-color:#f8f9fc;border-color:#f8f9fc}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#3a3b45;background-color:#d4daed;border-color:#cbd3e9}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,221,225,.5)}.btn-dark{color:#fff;background-color:#5a5c69;border-color:#5a5c69}.btn-dark:hover{color:#fff;background-color:#484a54;border-color:#42444e}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#484a54;border-color:#42444e;box-shadow:0 0 0 .2rem rgba(115,116,128,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#5a5c69;border-color:#5a5c69}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#42444e;border-color:#3d3e47}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(115,116,128,.5)}.btn-outline-primary{color:#4e73df;border-color:#4e73df}.btn-outline-primary:hover{color:#fff;background-color:#4e73df;border-color:#4e73df}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(78,115,223,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#4e73df;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:#4e73df;border-color:#4e73df}.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:0 0 0 .2rem rgba(78,115,223,.5)}.btn-outline-secondary{color:#858796;border-color:#858796}.btn-outline-secondary:hover{color:#fff;background-color:#858796;border-color:#858796}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(133,135,150,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#858796;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:#858796;border-color:#858796}.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:0 0 0 .2rem rgba(133,135,150,.5)}.btn-outline-success{color:#1cc88a;border-color:#1cc88a}.btn-outline-success:hover{color:#fff;background-color:#1cc88a;border-color:#1cc88a}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(28,200,138,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#1cc88a;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:#fff;background-color:#1cc88a;border-color:#1cc88a}.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:0 0 0 .2rem rgba(28,200,138,.5)}.btn-outline-info{color:#36b9cc;border-color:#36b9cc}.btn-outline-info:hover{color:#fff;background-color:#36b9cc;border-color:#36b9cc}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(54,185,204,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#36b9cc;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:#fff;background-color:#36b9cc;border-color:#36b9cc}.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:0 0 0 .2rem rgba(54,185,204,.5)}.btn-outline-warning{color:#f6c23e;border-color:#f6c23e}.btn-outline-warning:hover{color:#fff;background-color:#f6c23e;border-color:#f6c23e}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(246,194,62,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f6c23e;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:#f6c23e;border-color:#f6c23e}.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:0 0 0 .2rem rgba(246,194,62,.5)}.btn-outline-danger{color:#e74a3b;border-color:#e74a3b}.btn-outline-danger:hover{color:#fff;background-color:#e74a3b;border-color:#e74a3b}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(231,74,59,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#e74a3b;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:#e74a3b;border-color:#e74a3b}.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:0 0 0 .2rem rgba(231,74,59,.5)}.btn-outline-light{color:#f8f9fc;border-color:#f8f9fc}.btn-outline-light:hover{color:#3a3b45;background-color:#f8f9fc;border-color:#f8f9fc}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,252,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fc;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:#3a3b45;background-color:#f8f9fc;border-color:#f8f9fc}.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:0 0 0 .2rem rgba(248,249,252,.5)}.btn-outline-dark{color:#5a5c69;border-color:#5a5c69}.btn-outline-dark:hover{color:#fff;background-color:#5a5c69;border-color:#5a5c69}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(90,92,105,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#5a5c69;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:#5a5c69;border-color:#5a5c69}.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:0 0 0 .2rem rgba(90,92,105,.5)}.btn-link{font-weight:400;color:#4e73df;text-decoration:none}.btn-link:hover{color:#224abe;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#858796;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .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 .15s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.85rem;color:#858796;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #e3e6f0;border-radius:.35rem}.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}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.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:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #eaecf4}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#3a3b45;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#2e2f37;text-decoration:none;background-color:#eaecf4}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#4e73df}.dropdown-item.disabled,.dropdown-item:disabled{color:#b7b9cc;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#858796;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#3a3b45}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{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>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#6e707e;text-align:center;white-space:nowrap;background-color:#eaecf4;border:1px solid #d1d3e2;border-radius:.35rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.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:#4e73df;background-color:#4e73df}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#bac8f3}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#e5ebfa;border-color:#e5ebfa}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#858796}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#eaecf4}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#b7b9cc solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.35rem}.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='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#4e73df;background-color:#4e73df}.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(78,115,223,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(78,115,223,.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='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(78,115,223,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#b7b9cc;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(78,115,223,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#6e707e;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%235a5c69' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #d1d3e2;border-radius:.35rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#bac8f3;outline:0;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}.custom-select:focus::-ms-value{color:#6e707e;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#858796;background-color:#eaecf4}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #6e707e}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#bac8f3;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#eaecf4}.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 + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#6e707e;background-color:#fff;border:1px solid #d1d3e2;border-radius:.35rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#6e707e;content:"Browse";background-color:#eaecf4;border-left:inherit;border-radius:0 .35rem .35rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(78,115,223,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(78,115,223,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(78,115,223,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#4e73df;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#e5ebfa}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dddfeb;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#4e73df;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#e5ebfa}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dddfeb;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#4e73df;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#e5ebfa}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dddfeb;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dddfeb;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#b7b9cc}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#b7b9cc}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#b7b9cc}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#858796;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dddfeb}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eaecf4 #eaecf4 #dddfeb}.nav-tabs .nav-link.disabled{color:#858796;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#6e707e;background-color:#fff;border-color:#dddfeb #dddfeb #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.35rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#4e73df}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.35rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #e3e6f0;border-radius:.35rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.35rem - 1px);border-top-right-radius:calc(.35rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.35rem - 1px);border-bottom-left-radius:calc(.35rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.card-header:first-child{border-radius:calc(.35rem - 1px) calc(.35rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f8f9fc;border-top:1px solid #e3e6f0}.card-footer:last-child{border-radius:0 0 calc(.35rem - 1px) calc(.35rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.35rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.35rem - 1px);border-top-right-radius:calc(.35rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.35rem - 1px);border-bottom-left-radius:calc(.35rem - 1px)}.card-deck .card{margin-bottom:.75rem}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-.75rem;margin-left:-.75rem}.card-deck .card{flex:1 0 0%;margin-right:.75rem;margin-bottom:0;margin-left:.75rem}}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eaecf4;border-radius:.35rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#858796;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#858796}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.35rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#4e73df;background-color:#fff;border:1px solid #dddfeb}.page-link:hover{z-index:2;color:#224abe;text-decoration:none;background-color:#eaecf4;border-color:#dddfeb}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.35rem;border-bottom-left-radius:.35rem}.page-item:last-child .page-link{border-top-right-radius:.35rem;border-bottom-right-radius:.35rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#4e73df;border-color:#4e73df}.page-item.disabled .page-link{color:#858796;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dddfeb}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.35rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#4e73df}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#2653d4}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(78,115,223,.5)}.badge-secondary{color:#fff;background-color:#858796}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#6b6d7d}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(133,135,150,.5)}.badge-success{color:#fff;background-color:#1cc88a}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#169b6b}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(28,200,138,.5)}.badge-info{color:#fff;background-color:#36b9cc}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#2a96a5}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(54,185,204,.5)}.badge-warning{color:#fff;background-color:#f6c23e}a.badge-warning:focus,a.badge-warning:hover{color:#fff;background-color:#f4b30d}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(246,194,62,.5)}.badge-danger{color:#fff;background-color:#e74a3b}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#d52a1a}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(231,74,59,.5)}.badge-light{color:#3a3b45;background-color:#f8f9fc}a.badge-light:focus,a.badge-light:hover{color:#3a3b45;background-color:#d4daed}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,252,.5)}.badge-dark{color:#fff;background-color:#5a5c69}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#42444e}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(90,92,105,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eaecf4;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.35rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#293c74;background-color:#dce3f9;border-color:#cdd8f6}.alert-primary hr{border-top-color:#b7c7f2}.alert-primary .alert-link{color:#1c294e}.alert-secondary{color:#45464e;background-color:#e7e7ea;border-color:#dddde2}.alert-secondary hr{border-top-color:#cfcfd6}.alert-secondary .alert-link{color:#2d2e33}.alert-success{color:#0f6848;background-color:#d2f4e8;border-color:#bff0de}.alert-success hr{border-top-color:#aaebd3}.alert-success .alert-link{color:#093b29}.alert-info{color:#1c606a;background-color:#d7f1f5;border-color:#c7ebf1}.alert-info hr{border-top-color:#b3e4ec}.alert-info .alert-link{color:#113b42}.alert-warning{color:#806520;background-color:#fdf3d8;border-color:#fceec9}.alert-warning hr{border-top-color:#fbe6b1}.alert-warning .alert-link{color:#574516}.alert-danger{color:#78261f;background-color:#fadbd8;border-color:#f8ccc8}.alert-danger hr{border-top-color:#f5b7b1}.alert-danger .alert-link{color:#4f1915}.alert-light{color:#818183;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686869}.alert-dark{color:#2f3037;background-color:#dedee1;border-color:#d1d1d5}.alert-dark hr{border-top-color:#c4c4c9}.alert-dark .alert-link{color:#18181c}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#eaecf4;border-radius:.35rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#4e73df;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.35rem}.list-group-item-action{width:100%;color:#6e707e;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#6e707e;text-decoration:none;background-color:#f8f9fc}.list-group-item-action:active{color:#858796;background-color:#eaecf4}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#858796;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#4e73df;border-color:#4e73df}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.35rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.35rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.35rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.35rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.35rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.35rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.35rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.35rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.35rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.35rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#293c74;background-color:#cdd8f6}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#293c74;background-color:#b7c7f2}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#293c74;border-color:#293c74}.list-group-item-secondary{color:#45464e;background-color:#dddde2}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#45464e;background-color:#cfcfd6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#45464e;border-color:#45464e}.list-group-item-success{color:#0f6848;background-color:#bff0de}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f6848;background-color:#aaebd3}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f6848;border-color:#0f6848}.list-group-item-info{color:#1c606a;background-color:#c7ebf1}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#1c606a;background-color:#b3e4ec}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#1c606a;border-color:#1c606a}.list-group-item-warning{color:#806520;background-color:#fceec9}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#806520;background-color:#fbe6b1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#806520;border-color:#806520}.list-group-item-danger{color:#78261f;background-color:#f8ccc8}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#78261f;background-color:#f5b7b1}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#78261f;border-color:#78261f}.list-group-item-light{color:#818183;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818183;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818183;border-color:#818183}.list-group-item-dark{color:#2f3037;background-color:#d1d1d5}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#2f3037;background-color:#c4c4c9}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#2f3037;border-color:#2f3037}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#858796;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;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:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #e3e6f0;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.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:.75rem;border-top:1px solid #e3e6f0;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.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:-webkit-min-content;height:-moz-min-content;height:min-content}.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:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,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:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.35rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,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:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#858796}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.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:#4e73df!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#2653d4!important}.bg-secondary{background-color:#858796!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#6b6d7d!important}.bg-success{background-color:#1cc88a!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#169b6b!important}.bg-info{background-color:#36b9cc!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#2a96a5!important}.bg-warning{background-color:#f6c23e!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#f4b30d!important}.bg-danger{background-color:#e74a3b!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#d52a1a!important}.bg-light{background-color:#f8f9fc!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#d4daed!important}.bg-dark{background-color:#5a5c69!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#42444e!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #e3e6f0!important}.border-top{border-top:1px solid #e3e6f0!important}.border-right{border-right:1px solid #e3e6f0!important}.border-bottom{border-bottom:1px solid #e3e6f0!important}.border-left{border-left:1px solid #e3e6f0!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:#4e73df!important}.border-secondary{border-color:#858796!important}.border-success{border-color:#1cc88a!important}.border-info{border-color:#36b9cc!important}.border-warning{border-color:#f6c23e!important}.border-danger{border-color:#e74a3b!important}.border-light{border-color:#f8f9fc!important}.border-dark{border-color:#5a5c69!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.35rem!important}.rounded-top{border-top-left-radius:.35rem!important;border-top-right-radius:.35rem!important}.rounded-right{border-top-right-radius:.35rem!important;border-bottom-right-radius:.35rem!important}.rounded-bottom{border-bottom-right-radius:.35rem!important;border-bottom-left-radius:.35rem!important}.rounded-left{border-top-left-radius:.35rem!important;border-bottom-left-radius:.35rem!important}.rounded-lg{border-radius:.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 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 embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.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}}.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}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;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:-webkit-sticky!important;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:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;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 .125rem .25rem 0 rgba(58,59,69,.2)!important}.shadow{box-shadow:0 .15rem 1.75rem 0 rgba(58,59,69,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!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:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.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:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.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:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.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:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.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:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.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:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.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:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.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:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.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:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.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:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.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:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.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:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.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:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.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:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.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:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.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}}.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}}.text-lowercase{text-transform:lowercase!important}.dropdown .dropdown-menu .dropdown-header,.sidebar .sidebar-heading,.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:#4e73df!important}a.text-primary:focus,a.text-primary:hover{color:#224abe!important}.text-secondary{color:#858796!important}a.text-secondary:focus,a.text-secondary:hover{color:#60616f!important}.text-success{color:#1cc88a!important}a.text-success:focus,a.text-success:hover{color:#13855c!important}.text-info{color:#36b9cc!important}a.text-info:focus,a.text-info:hover{color:#258391!important}.text-warning{color:#f6c23e!important}a.text-warning:focus,a.text-warning:hover{color:#dda20a!important}.text-danger{color:#e74a3b!important}a.text-danger:focus,a.text-danger:hover{color:#be2617!important}.text-light{color:#f8f9fc!important}a.text-light:focus,a.text-light:hover{color:#c2cbe5!important}.text-dark{color:#5a5c69!important}a.text-dark:focus,a.text-dark:hover{color:#373840!important}.text-body{color:#858796!important}.text-muted{color:#858796!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.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-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{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}blockquote,pre{border:1px solid #b7b9cc;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@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 td,.table-bordered th{border:1px solid #dddfeb!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#e3e6f0}.table .thead-dark th{color:inherit;border-color:#e3e6f0}}html{position:relative;min-height:100%}body{height:100%}a:focus{outline:0}#wrapper{display:flex}#wrapper #content-wrapper{background-color:#f8f9fc;width:100%;overflow-x:hidden}#wrapper #content-wrapper #content{flex:1 0 auto}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{padding-left:1.5rem;padding-right:1.5rem}.scroll-to-top{position:fixed;right:1rem;bottom:1rem;display:none;width:2.75rem;height:2.75rem;text-align:center;color:#fff;background:rgba(90,92,105,.5);line-height:46px}.scroll-to-top:focus,.scroll-to-top:hover{color:#fff}.scroll-to-top:hover{background:#5a5c69}.scroll-to-top i{font-weight:800}@-webkit-keyframes growIn{0%{transform:scale(.9);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes growIn{0%{transform:scale(.9);opacity:0}100%{transform:scale(1);opacity:1}}.animated--grow-in,.sidebar .nav-item .collapse{-webkit-animation-name:growIn;animation-name:growIn;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:transform cubic-bezier(.18,1.25,.4,1),opacity cubic-bezier(0,1,.4,1);animation-timing-function:transform cubic-bezier(.18,1.25,.4,1),opacity cubic-bezier(0,1,.4,1)}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.animated--fade-in{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:opacity cubic-bezier(0,1,.4,1);animation-timing-function:opacity cubic-bezier(0,1,.4,1)}.bg-gradient-primary{background-color:#4e73df;background-image:linear-gradient(180deg,#4e73df 10%,#224abe 100%);background-size:cover}.bg-gradient-secondary{background-color:#858796;background-image:linear-gradient(180deg,#858796 10%,#60616f 100%);background-size:cover}.bg-gradient-success{background-color:#1cc88a;background-image:linear-gradient(180deg,#1cc88a 10%,#13855c 100%);background-size:cover}.bg-gradient-info{background-color:#36b9cc;background-image:linear-gradient(180deg,#36b9cc 10%,#258391 100%);background-size:cover}.bg-gradient-warning{background-color:#f6c23e;background-image:linear-gradient(180deg,#f6c23e 10%,#dda20a 100%);background-size:cover}.bg-gradient-danger{background-color:#e74a3b;background-image:linear-gradient(180deg,#e74a3b 10%,#be2617 100%);background-size:cover}.bg-gradient-light{background-color:#f8f9fc;background-image:linear-gradient(180deg,#f8f9fc 10%,#c2cbe5 100%);background-size:cover}.bg-gradient-dark{background-color:#5a5c69;background-image:linear-gradient(180deg,#5a5c69 10%,#373840 100%);background-size:cover}.bg-gray-100{background-color:#f8f9fc!important}.bg-gray-200{background-color:#eaecf4!important}.bg-gray-300{background-color:#dddfeb!important}.bg-gray-400{background-color:#d1d3e2!important}.bg-gray-500{background-color:#b7b9cc!important}.bg-gray-600{background-color:#858796!important}.bg-gray-700{background-color:#6e707e!important}.bg-gray-800{background-color:#5a5c69!important}.bg-gray-900{background-color:#3a3b45!important}.o-hidden{overflow:hidden!important}.text-xs{font-size:.7rem}.text-lg{font-size:1.2rem}.text-gray-100{color:#f8f9fc!important}.text-gray-200{color:#eaecf4!important}.text-gray-300{color:#dddfeb!important}.text-gray-400{color:#d1d3e2!important}.text-gray-500{color:#b7b9cc!important}.text-gray-600{color:#858796!important}.text-gray-700{color:#6e707e!important}.text-gray-800{color:#5a5c69!important}.text-gray-900{color:#3a3b45!important}.icon-circle{height:2.5rem;width:2.5rem;border-radius:100%;display:flex;align-items:center;justify-content:center}.border-left-primary{border-left:.25rem solid #4e73df!important}.border-bottom-primary{border-bottom:.25rem solid #4e73df!important}.border-left-secondary{border-left:.25rem solid #858796!important}.border-bottom-secondary{border-bottom:.25rem solid #858796!important}.border-left-success{border-left:.25rem solid #1cc88a!important}.border-bottom-success{border-bottom:.25rem solid #1cc88a!important}.border-left-info{border-left:.25rem solid #36b9cc!important}.border-bottom-info{border-bottom:.25rem solid #36b9cc!important}.border-left-warning{border-left:.25rem solid #f6c23e!important}.border-bottom-warning{border-bottom:.25rem solid #f6c23e!important}.border-left-danger{border-left:.25rem solid #e74a3b!important}.border-bottom-danger{border-bottom:.25rem solid #e74a3b!important}.border-left-light{border-left:.25rem solid #f8f9fc!important}.border-bottom-light{border-bottom:.25rem solid #f8f9fc!important}.border-left-dark{border-left:.25rem solid #5a5c69!important}.border-bottom-dark{border-bottom:.25rem solid #5a5c69!important}.progress-sm{height:.5rem}.rotate-15{transform:rotate(15deg)}.rotate-n-15{transform:rotate(-15deg)}.dropdown .dropdown-menu{font-size:.85rem}.dropdown .dropdown-menu .dropdown-header{font-weight:800;font-size:.65rem;color:#b7b9cc}.dropdown.no-arrow .dropdown-toggle::after{display:none}.sidebar .nav-item.dropdown .dropdown-toggle::after,.topbar .nav-item.dropdown .dropdown-toggle::after{width:1rem;text-align:center;float:right;vertical-align:0;border:0;font-weight:900;content:'\f105';font-family:'Font Awesome 5 Free'}.sidebar .nav-item.dropdown.show .dropdown-toggle::after,.topbar .nav-item.dropdown.show .dropdown-toggle::after{content:'\f107'}.sidebar .nav-item .nav-link,.topbar .nav-item .nav-link{position:relative}.sidebar .nav-item .nav-link .badge-counter,.topbar .nav-item .nav-link .badge-counter{position:absolute;transform:scale(.7);transform-origin:top right;right:.25rem;margin-top:-.25rem}.sidebar .nav-item .nav-link .img-profile,.topbar .nav-item .nav-link .img-profile{height:2rem;width:2rem}.topbar{height:4.375rem}.topbar #sidebarToggleTop{height:2.5rem;width:2.5rem}.topbar #sidebarToggleTop:hover{background-color:#eaecf4}.topbar #sidebarToggleTop:active{background-color:#dddfeb}.topbar .navbar-search{width:25rem}.topbar .navbar-search input{font-size:.85rem;height:auto}.topbar .topbar-divider{width:0;border-right:1px solid #e3e6f0;height:calc(4.375rem - 2rem);margin:auto 1rem}.topbar .nav-item .nav-link{height:4.375rem;display:flex;align-items:center;padding:0 .75rem}.topbar .nav-item .nav-link:focus{outline:0}.topbar .nav-item:focus{outline:0}.topbar .dropdown{position:static}.topbar .dropdown .dropdown-menu{width:calc(100% - 1.5rem);right:.75rem}.topbar .dropdown-list{padding:0;border:none;overflow:hidden}.topbar .dropdown-list .dropdown-header{background-color:#4e73df;border:1px solid #4e73df;padding-top:.75rem;padding-bottom:.75rem;color:#fff}.topbar .dropdown-list .dropdown-item{white-space:normal;padding-top:.5rem;padding-bottom:.5rem;border-left:1px solid #e3e6f0;border-right:1px solid #e3e6f0;border-bottom:1px solid #e3e6f0;line-height:1.3rem}.topbar .dropdown-list .dropdown-item .dropdown-list-image{position:relative;height:2.5rem;width:2.5rem}.topbar .dropdown-list .dropdown-item .dropdown-list-image img{height:2.5rem;width:2.5rem}.topbar .dropdown-list .dropdown-item .dropdown-list-image .status-indicator{background-color:#eaecf4;height:.75rem;width:.75rem;border-radius:100%;position:absolute;bottom:0;right:0;border:.125rem solid #fff}.topbar .dropdown-list .dropdown-item .text-truncate{max-width:10rem}.topbar .dropdown-list .dropdown-item:active{background-color:#eaecf4;color:#3a3b45}@media (min-width:576px){.topbar .dropdown{position:relative}.topbar .dropdown .dropdown-menu{width:auto;right:0}.topbar .dropdown-list{width:20rem!important}.topbar .dropdown-list .dropdown-item .text-truncate{max-width:13.375rem}}.topbar.navbar-dark .navbar-nav .nav-item .nav-link{color:rgba(255,255,255,.8)}.topbar.navbar-dark .navbar-nav .nav-item .nav-link:hover{color:#fff}.topbar.navbar-dark .navbar-nav .nav-item .nav-link:active{color:#fff}.topbar.navbar-light .navbar-nav .nav-item .nav-link{color:#d1d3e2}.topbar.navbar-light .navbar-nav .nav-item .nav-link:hover{color:#b7b9cc}.topbar.navbar-light .navbar-nav .nav-item .nav-link:active{color:#858796}.sidebar{width:6.5rem;min-height:100vh}.sidebar .nav-item{position:relative}.sidebar .nav-item:last-child{margin-bottom:1rem}.sidebar .nav-item .nav-link{text-align:center;padding:.75rem 1rem;width:6.5rem}.sidebar .nav-item .nav-link span{font-size:.65rem;display:block}.sidebar .nav-item.active .nav-link{font-weight:700}.sidebar .nav-item .collapse{position:absolute;left:calc(6.5rem + 1.5rem / 2);z-index:1;top:2px}.sidebar .nav-item .collapse .collapse-inner{border-radius:.35rem;box-shadow:0 .15rem 1.75rem 0 rgba(58,59,69,.15)}.sidebar .nav-item .collapsing{display:none;transition:none}.sidebar .nav-item .collapse .collapse-inner,.sidebar .nav-item .collapsing .collapse-inner{padding:.5rem 0;min-width:10rem;font-size:.85rem;margin:0 0 1rem 0}.sidebar .nav-item .collapse .collapse-inner .collapse-header,.sidebar .nav-item .collapsing .collapse-inner .collapse-header{margin:0;white-space:nowrap;padding:.5rem 1.5rem;text-transform:uppercase;font-weight:800;font-size:.65rem;color:#b7b9cc}.sidebar .nav-item .collapse .collapse-inner .collapse-item,.sidebar .nav-item .collapsing .collapse-inner .collapse-item{padding:.5rem 1rem;margin:0 .5rem;display:block;color:#3a3b45;text-decoration:none;border-radius:.35rem;white-space:nowrap}.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover{background-color:#eaecf4}.sidebar .nav-item .collapse .collapse-inner .collapse-item:active,.sidebar .nav-item .collapsing .collapse-inner .collapse-item:active{background-color:#dddfeb}.sidebar .nav-item .collapse .collapse-inner .collapse-item.active,.sidebar .nav-item .collapsing .collapse-inner .collapse-item.active{color:#4e73df;font-weight:700}.sidebar #sidebarToggle{width:2.5rem;height:2.5rem;text-align:center;margin-bottom:1rem;cursor:pointer}.sidebar #sidebarToggle::after{font-weight:900;content:'\f104';font-family:'Font Awesome 5 Free';margin-right:.1rem}.sidebar #sidebarToggle:hover{text-decoration:none}.sidebar #sidebarToggle:focus{outline:0}.sidebar.toggled{width:0!important;overflow:hidden}.sidebar.toggled #sidebarToggle::after{content:'\f105';font-family:'Font Awesome 5 Free';margin-left:.25rem}.sidebar.toggled .sidebar-card{display:none}.sidebar .sidebar-brand{height:4.375rem;text-decoration:none;font-size:1rem;font-weight:800;padding:1.5rem 1rem;text-align:center;text-transform:uppercase;letter-spacing:.05rem;z-index:1}.sidebar .sidebar-brand .sidebar-brand-icon i{font-size:2rem}.sidebar .sidebar-brand .sidebar-brand-text{display:none}.sidebar hr.sidebar-divider{margin:0 1rem 1rem}.sidebar .sidebar-heading{text-align:center;padding:0 1rem;font-weight:800;font-size:.65rem}.sidebar .sidebar-card{display:flex;flex-direction:column;align-items:center;font-size:.875rem;border-radius:.35rem;color:rgba(255,255,255,.8);margin-left:1rem;margin-right:1rem;margin-bottom:1rem;padding:1rem;background-color:rgba(0,0,0,.1)}.sidebar .sidebar-card .sidebar-card-illustration{height:3rem;display:block}.sidebar .sidebar-card .sidebar-card-title{font-weight:700}.sidebar .sidebar-card p{font-size:.75rem;color:rgba(255,255,255,.5)}@media (min-width:768px){.sidebar{width:14rem!important}.sidebar .nav-item .collapse{position:relative;left:0;z-index:1;top:0;-webkit-animation:none;animation:none}.sidebar .nav-item .collapse .collapse-inner{border-radius:0;box-shadow:none}.sidebar .nav-item .collapsing{display:block;transition:height .15s ease}.sidebar .nav-item .collapse,.sidebar .nav-item .collapsing{margin:0 1rem}.sidebar .nav-item .nav-link{display:block;width:100%;text-align:left;padding:1rem;width:14rem}.sidebar .nav-item .nav-link i{font-size:.85rem;margin-right:.25rem}.sidebar .nav-item .nav-link span{font-size:.85rem;display:inline}.sidebar .nav-item .nav-link[data-toggle=collapse]::after{width:1rem;text-align:center;float:right;vertical-align:0;border:0;font-weight:900;content:'\f107';font-family:'Font Awesome 5 Free'}.sidebar .nav-item .nav-link[data-toggle=collapse].collapsed::after{content:'\f105'}.sidebar .sidebar-brand .sidebar-brand-icon i{font-size:2rem}.sidebar .sidebar-brand .sidebar-brand-text{display:inline}.sidebar .sidebar-heading{text-align:left}.sidebar.toggled{overflow:visible;width:6.5rem!important}.sidebar.toggled .nav-item .collapse{position:absolute;left:calc(6.5rem + 1.5rem / 2);z-index:1;top:2px;-webkit-animation-name:growIn;animation-name:growIn;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:transform cubic-bezier(.18,1.25,.4,1),opacity cubic-bezier(0,1,.4,1);animation-timing-function:transform cubic-bezier(.18,1.25,.4,1),opacity cubic-bezier(0,1,.4,1)}.sidebar.toggled .nav-item .collapse .collapse-inner{box-shadow:0 .15rem 1.75rem 0 rgba(58,59,69,.15);border-radius:.35rem}.sidebar.toggled .nav-item .collapsing{display:none;transition:none}.sidebar.toggled .nav-item .collapse,.sidebar.toggled .nav-item .collapsing{margin:0}.sidebar.toggled .nav-item:last-child{margin-bottom:1rem}.sidebar.toggled .nav-item .nav-link{text-align:center;padding:.75rem 1rem;width:6.5rem}.sidebar.toggled .nav-item .nav-link span{font-size:.65rem;display:block}.sidebar.toggled .nav-item .nav-link i{margin-right:0}.sidebar.toggled .nav-item .nav-link[data-toggle=collapse]::after{display:none}.sidebar.toggled .sidebar-brand .sidebar-brand-icon i{font-size:2rem}.sidebar.toggled .sidebar-brand .sidebar-brand-text{display:none}.sidebar.toggled .sidebar-heading{text-align:center}}.sidebar-light .sidebar-brand{color:#6e707e}.sidebar-light hr.sidebar-divider{border-top:1px solid #eaecf4}.sidebar-light .sidebar-heading{color:#b7b9cc}.sidebar-light .nav-item .nav-link{color:#858796}.sidebar-light .nav-item .nav-link i{color:#d1d3e2}.sidebar-light .nav-item .nav-link:active,.sidebar-light .nav-item .nav-link:focus,.sidebar-light .nav-item .nav-link:hover{color:#6e707e}.sidebar-light .nav-item .nav-link:active i,.sidebar-light .nav-item .nav-link:focus i,.sidebar-light .nav-item .nav-link:hover i{color:#6e707e}.sidebar-light .nav-item .nav-link[data-toggle=collapse]::after{color:#b7b9cc}.sidebar-light .nav-item.active .nav-link{color:#6e707e}.sidebar-light .nav-item.active .nav-link i{color:#6e707e}.sidebar-light #sidebarToggle{background-color:#eaecf4}.sidebar-light #sidebarToggle::after{color:#b7b9cc}.sidebar-light #sidebarToggle:hover{background-color:#dddfeb}.sidebar-dark .sidebar-brand{color:#fff}.sidebar-dark hr.sidebar-divider{border-top:1px solid rgba(255,255,255,.15)}.sidebar-dark .sidebar-heading{color:rgba(255,255,255,.4)}.sidebar-dark .nav-item .nav-link{color:rgba(255,255,255,.8)}.sidebar-dark .nav-item .nav-link i{color:rgba(255,255,255,.3)}.sidebar-dark .nav-item .nav-link:active,.sidebar-dark .nav-item .nav-link:focus,.sidebar-dark .nav-item .nav-link:hover{color:#fff}.sidebar-dark .nav-item .nav-link:active i,.sidebar-dark .nav-item .nav-link:focus i,.sidebar-dark .nav-item .nav-link:hover i{color:#fff}.sidebar-dark .nav-item .nav-link[data-toggle=collapse]::after{color:rgba(255,255,255,.5)}.sidebar-dark .nav-item.active .nav-link{color:#fff}.sidebar-dark .nav-item.active .nav-link i{color:#fff}.sidebar-dark #sidebarToggle{background-color:rgba(255,255,255,.2)}.sidebar-dark #sidebarToggle::after{color:rgba(255,255,255,.5)}.sidebar-dark #sidebarToggle:hover{background-color:rgba(255,255,255,.25)}.sidebar-dark.toggled #sidebarToggle::after{color:rgba(255,255,255,.5)}.btn-circle{border-radius:100%;height:2.5rem;width:2.5rem;font-size:1rem;display:inline-flex;align-items:center;justify-content:center}.btn-circle.btn-sm,.btn-group-sm>.btn-circle.btn{height:1.8rem;width:1.8rem;font-size:.75rem}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{height:3.5rem;width:3.5rem;font-size:1.35rem}.btn-icon-split{padding:0;overflow:hidden;display:inline-flex;align-items:stretch;justify-content:center}.btn-icon-split .icon{background:rgba(0,0,0,.15);display:inline-block;padding:.375rem .75rem}.btn-icon-split .text{display:inline-block;padding:.375rem .75rem}.btn-group-sm>.btn-icon-split.btn .icon,.btn-icon-split.btn-sm .icon{padding:.25rem .5rem}.btn-group-sm>.btn-icon-split.btn .text,.btn-icon-split.btn-sm .text{padding:.25rem .5rem}.btn-group-lg>.btn-icon-split.btn .icon,.btn-icon-split.btn-lg .icon{padding:.5rem 1rem}.btn-group-lg>.btn-icon-split.btn .text,.btn-icon-split.btn-lg .text{padding:.5rem 1rem}.card .card-header .dropdown{line-height:1}.card .card-header .dropdown .dropdown-menu{line-height:1.5}.card .card-header[data-toggle=collapse]{text-decoration:none;position:relative;padding:.75rem 3.25rem .75rem 1.25rem}.card .card-header[data-toggle=collapse]::after{position:absolute;right:0;top:0;padding-right:1.725rem;line-height:51px;font-weight:900;content:'\f107';font-family:'Font Awesome 5 Free';color:#d1d3e2}.card .card-header[data-toggle=collapse].collapsed{border-radius:.35rem}.card .card-header[data-toggle=collapse].collapsed::after{content:'\f105'}.chart-area{position:relative;height:10rem;width:100%}@media (min-width:768px){.chart-area{height:20rem}}.chart-bar{position:relative;height:10rem;width:100%}@media (min-width:768px){.chart-bar{height:20rem}}.chart-pie{position:relative;height:15rem;width:100%}@media (min-width:768px){.chart-pie{height:calc(20rem - 43px)!important}}.bg-login-image{background:url(https://media.istockphoto.com/id/1158421181/vector/flat-color-modern-isometric-illustration-design-trading-platform.jpg?s=612x612&w=0&k=20&c=hg3WF6HzbGK3m47ZV0xfwuz-DR1O5_oTLj3242Byi84=);background-position:center;background-size:cover}.bg-register-image{background:url(https://source.unsplash.com/Mv9hjnEUHR4/600x800);background-position:center;background-size:cover}.bg-password-image{background:url(https://source.unsplash.com/oWTW-jNGl9I/600x800);background-position:center;background-size:cover}form.user .custom-checkbox.small label{line-height:1.5rem}form.user .form-control-user{font-size:.8rem;border-radius:10rem;padding:1.5rem 1rem}form.user .btn-user{font-size:.8rem;border-radius:10rem;padding:.75rem 1rem}.btn-google{color:#fff;background-color:#ea4335;border-color:#fff}.btn-google:hover{color:#fff;background-color:#e12717;border-color:#e6e6e6}.btn-google.focus,.btn-google:focus{color:#fff;background-color:#e12717;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-google.disabled,.btn-google:disabled{color:#fff;background-color:#ea4335;border-color:#fff}.btn-google:not(:disabled):not(.disabled).active,.btn-google:not(:disabled):not(.disabled):active,.show>.btn-google.dropdown-toggle{color:#fff;background-color:#d62516;border-color:#dfdfdf}.btn-google:not(:disabled):not(.disabled).active:focus,.btn-google:not(:disabled):not(.disabled):active:focus,.show>.btn-google.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-facebook{color:#fff;background-color:#3b5998;border-color:#fff}.btn-facebook:hover{color:#fff;background-color:#30497c;border-color:#e6e6e6}.btn-facebook.focus,.btn-facebook:focus{color:#fff;background-color:#30497c;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-facebook.disabled,.btn-facebook:disabled{color:#fff;background-color:#3b5998;border-color:#fff}.btn-facebook:not(:disabled):not(.disabled).active,.btn-facebook:not(:disabled):not(.disabled):active,.show>.btn-facebook.dropdown-toggle{color:#fff;background-color:#2d4373;border-color:#dfdfdf}.btn-facebook:not(:disabled):not(.disabled).active:focus,.btn-facebook:not(:disabled):not(.disabled):active:focus,.show>.btn-facebook.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.error{color:#5a5c69;font-size:7rem;position:relative;line-height:1;width:12.5rem}@-webkit-keyframes noise-anim{0%{clip:rect(81px,9999px,74px,0)}5%{clip:rect(2px,9999px,29px,0)}10%{clip:rect(1px,9999px,15px,0)}15%{clip:rect(50px,9999px,8px,0)}20%{clip:rect(99px,9999px,79px,0)}25%{clip:rect(85px,9999px,15px,0)}30%{clip:rect(41px,9999px,53px,0)}35%{clip:rect(22px,9999px,36px,0)}40%{clip:rect(73px,9999px,79px,0)}45%{clip:rect(82px,9999px,100px,0)}50%{clip:rect(47px,9999px,96px,0)}55%{clip:rect(10px,9999px,44px,0)}60%{clip:rect(7px,9999px,24px,0)}65%{clip:rect(29px,9999px,88px,0)}70%{clip:rect(12px,9999px,44px,0)}75%{clip:rect(25px,9999px,57px,0)}80%{clip:rect(38px,9999px,35px,0)}85%{clip:rect(20px,9999px,96px,0)}90%{clip:rect(58px,9999px,44px,0)}95%{clip:rect(72px,9999px,41px,0)}100%{clip:rect(69px,9999px,72px,0)}}@keyframes noise-anim{0%{clip:rect(81px,9999px,74px,0)}5%{clip:rect(2px,9999px,29px,0)}10%{clip:rect(1px,9999px,15px,0)}15%{clip:rect(50px,9999px,8px,0)}20%{clip:rect(99px,9999px,79px,0)}25%{clip:rect(85px,9999px,15px,0)}30%{clip:rect(41px,9999px,53px,0)}35%{clip:rect(22px,9999px,36px,0)}40%{clip:rect(73px,9999px,79px,0)}45%{clip:rect(82px,9999px,100px,0)}50%{clip:rect(47px,9999px,96px,0)}55%{clip:rect(10px,9999px,44px,0)}60%{clip:rect(7px,9999px,24px,0)}65%{clip:rect(29px,9999px,88px,0)}70%{clip:rect(12px,9999px,44px,0)}75%{clip:rect(25px,9999px,57px,0)}80%{clip:rect(38px,9999px,35px,0)}85%{clip:rect(20px,9999px,96px,0)}90%{clip:rect(58px,9999px,44px,0)}95%{clip:rect(72px,9999px,41px,0)}100%{clip:rect(69px,9999px,72px,0)}}.error:after{content:attr(data-text);position:absolute;left:2px;text-shadow:-1px 0 #e74a3b;top:0;color:#5a5c69;background:#f8f9fc;overflow:hidden;clip:rect(0,900px,0,0);animation:noise-anim 2s infinite linear alternate-reverse}@-webkit-keyframes noise-anim-2{0%{clip:rect(82px,9999px,93px,0)}5%{clip:rect(13px,9999px,71px,0)}10%{clip:rect(22px,9999px,90px,0)}15%{clip:rect(17px,9999px,11px,0)}20%{clip:rect(21px,9999px,91px,0)}25%{clip:rect(37px,9999px,33px,0)}30%{clip:rect(37px,9999px,80px,0)}35%{clip:rect(6px,9999px,49px,0)}40%{clip:rect(86px,9999px,60px,0)}45%{clip:rect(46px,9999px,83px,0)}50%{clip:rect(16px,9999px,83px,0)}55%{clip:rect(73px,9999px,36px,0)}60%{clip:rect(58px,9999px,98px,0)}65%{clip:rect(20px,9999px,93px,0)}70%{clip:rect(43px,9999px,67px,0)}75%{clip:rect(66px,9999px,75px,0)}80%{clip:rect(66px,9999px,41px,0)}85%{clip:rect(17px,9999px,47px,0)}90%{clip:rect(49px,9999px,68px,0)}95%{clip:rect(8px,9999px,85px,0)}100%{clip:rect(83px,9999px,50px,0)}}@keyframes noise-anim-2{0%{clip:rect(82px,9999px,93px,0)}5%{clip:rect(13px,9999px,71px,0)}10%{clip:rect(22px,9999px,90px,0)}15%{clip:rect(17px,9999px,11px,0)}20%{clip:rect(21px,9999px,91px,0)}25%{clip:rect(37px,9999px,33px,0)}30%{clip:rect(37px,9999px,80px,0)}35%{clip:rect(6px,9999px,49px,0)}40%{clip:rect(86px,9999px,60px,0)}45%{clip:rect(46px,9999px,83px,0)}50%{clip:rect(16px,9999px,83px,0)}55%{clip:rect(73px,9999px,36px,0)}60%{clip:rect(58px,9999px,98px,0)}65%{clip:rect(20px,9999px,93px,0)}70%{clip:rect(43px,9999px,67px,0)}75%{clip:rect(66px,9999px,75px,0)}80%{clip:rect(66px,9999px,41px,0)}85%{clip:rect(17px,9999px,47px,0)}90%{clip:rect(49px,9999px,68px,0)}95%{clip:rect(8px,9999px,85px,0)}100%{clip:rect(83px,9999px,50px,0)}}.error:before{content:attr(data-text);position:absolute;left:-2px;text-shadow:1px 0 #4e73df;top:0;color:#5a5c69;background:#f8f9fc;overflow:hidden;clip:rect(0,900px,0,0);animation:noise-anim-2 3s infinite linear alternate-reverse}footer.sticky-footer{padding:2rem 0;flex-shrink:0}footer.sticky-footer .copyright{line-height:1;font-size:.8rem}body.sidebar-toggled footer.sticky-footer{width:100%} \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/public/img/banyuwangi.png b/public/img/banyuwangi.png new file mode 100644 index 0000000000000000000000000000000000000000..93ff5914b3d552b936b1db724c71ddd7cf2033bc GIT binary patch literal 427271 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≈}FL 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

adav8P92F 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%0Do-(Sl*~M>(Z6;d^=> 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

dTdXMfY*ig-9lp@fD^oa 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 literal 0 HcmV?d00001 diff --git a/public/img/undraw_posting_photo.svg b/public/img/undraw_posting_photo.svg new file mode 100644 index 0000000..fc0d549 --- /dev/null +++ b/public/img/undraw_posting_photo.svg @@ -0,0 +1 @@ +posting photo \ No newline at end of file diff --git a/public/img/undraw_profile.svg b/public/img/undraw_profile.svg new file mode 100644 index 0000000..9802341 --- /dev/null +++ b/public/img/undraw_profile.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/public/img/undraw_profile_1.svg b/public/img/undraw_profile_1.svg new file mode 100644 index 0000000..fcc91c7 --- /dev/null +++ b/public/img/undraw_profile_1.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/undraw_profile_2.svg b/public/img/undraw_profile_2.svg new file mode 100644 index 0000000..488d1bd --- /dev/null +++ b/public/img/undraw_profile_2.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/undraw_profile_3.svg b/public/img/undraw_profile_3.svg new file mode 100644 index 0000000..eecb335 --- /dev/null +++ b/public/img/undraw_profile_3.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/undraw_rocket.svg b/public/img/undraw_rocket.svg new file mode 100644 index 0000000..4542614 --- /dev/null +++ b/public/img/undraw_rocket.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..1d69f3a --- /dev/null +++ b/public/index.php @@ -0,0 +1,55 @@ +make(Kernel::class); + +$response = $kernel->handle( + $request = Request::capture() +)->send(); + +$kernel->terminate($request, $response); diff --git a/public/js/demo/chart-area-demo.js b/public/js/demo/chart-area-demo.js new file mode 100644 index 0000000..0bb9c4d --- /dev/null +++ b/public/js/demo/chart-area-demo.js @@ -0,0 +1,118 @@ +// Set new default font family and font color to mimic Bootstrap's default styling +Chart.defaults.global.defaultFontFamily = 'Nunito', '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif'; +Chart.defaults.global.defaultFontColor = '#858796'; + +function number_format(number, decimals, dec_point, thousands_sep) { + // * example: number_format(1234.56, 2, ',', ' '); + // * return: '1 234,56' + number = (number + '').replace(',', '').replace(' ', ''); + var n = !isFinite(+number) ? 0 : +number, + prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), + sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, + dec = (typeof dec_point === 'undefined') ? '.' : dec_point, + s = '', + toFixedFix = function(n, prec) { + var k = Math.pow(10, prec); + return '' + Math.round(n * k) / k; + }; + // Fix for IE parseFloat(0.55).toFixed(0) = 0; + s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); + if (s[0].length > 3) { + s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); + } + if ((s[1] || '').length < prec) { + s[1] = s[1] || ''; + s[1] += new Array(prec - s[1].length + 1).join('0'); + } + return s.join(dec); +} + +// Area Chart Example +var ctx = document.getElementById("myAreaChart"); +var myLineChart = new Chart(ctx, { + type: 'line', + data: { + labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + datasets: [{ + label: "Earnings", + lineTension: 0.3, + backgroundColor: "rgba(78, 115, 223, 0.05)", + borderColor: "rgba(78, 115, 223, 1)", + pointRadius: 3, + pointBackgroundColor: "rgba(78, 115, 223, 1)", + pointBorderColor: "rgba(78, 115, 223, 1)", + pointHoverRadius: 3, + pointHoverBackgroundColor: "rgba(78, 115, 223, 1)", + pointHoverBorderColor: "rgba(78, 115, 223, 1)", + pointHitRadius: 10, + pointBorderWidth: 2, + data: [0, 10000, 5000, 15000, 10000, 20000, 15000, 25000, 20000, 30000, 25000, 40000], + }], + }, + options: { + maintainAspectRatio: false, + layout: { + padding: { + left: 10, + right: 25, + top: 25, + bottom: 0 + } + }, + scales: { + xAxes: [{ + time: { + unit: 'date' + }, + gridLines: { + display: false, + drawBorder: false + }, + ticks: { + maxTicksLimit: 7 + } + }], + yAxes: [{ + ticks: { + maxTicksLimit: 5, + padding: 10, + // Include a dollar sign in the ticks + callback: function(value, index, values) { + return '$' + number_format(value); + } + }, + gridLines: { + color: "rgb(234, 236, 244)", + zeroLineColor: "rgb(234, 236, 244)", + drawBorder: false, + borderDash: [2], + zeroLineBorderDash: [2] + } + }], + }, + legend: { + display: false + }, + tooltips: { + backgroundColor: "rgb(255,255,255)", + bodyFontColor: "#858796", + titleMarginBottom: 10, + titleFontColor: '#6e707e', + titleFontSize: 14, + borderColor: '#dddfeb', + borderWidth: 1, + xPadding: 15, + yPadding: 15, + displayColors: false, + intersect: false, + mode: 'index', + caretPadding: 10, + callbacks: { + label: function(tooltipItem, chart) { + var datasetLabel = chart.datasets[tooltipItem.datasetIndex].label || ''; + return datasetLabel + ': $' + number_format(tooltipItem.yLabel); + } + } + } + } +}); diff --git a/public/js/demo/chart-bar-demo.js b/public/js/demo/chart-bar-demo.js new file mode 100644 index 0000000..d2ecb6b --- /dev/null +++ b/public/js/demo/chart-bar-demo.js @@ -0,0 +1,37 @@ + const labels = Object.keys(dataByYear[Object.keys(dataByYear)[0]]); + const datasets = []; + + Object.keys(dataByYear).forEach(year => { + datasets.push({ + label: `Tahun ${year}`, + backgroundColor: getRandomColor(), + borderColor: getRandomColor(), + borderWidth: 1, + data: Object.values(dataByYear[year]) + }); + }); + + var ctx = document.getElementById("myBarChart").getContext("2d"); + var myBarChart = new Chart(ctx, { + type: 'bar', + data: { + labels: labels, + datasets: datasets + }, + options: { + scales: { + y: { + beginAtZero: true + } + } + } + }); + + function getRandomColor() { + var letters = '0123456789ABCDEF'; + var color = '#'; + for (var i = 0; i < 6; i++) { + color += letters[Math.floor(Math.random() * 16)]; + } + return color; + } \ No newline at end of file diff --git a/public/js/demo/chart-pie-demo.js b/public/js/demo/chart-pie-demo.js new file mode 100644 index 0000000..c393ac1 --- /dev/null +++ b/public/js/demo/chart-pie-demo.js @@ -0,0 +1,35 @@ +// Set new default font family and font color to mimic Bootstrap's default styling +Chart.defaults.global.defaultFontFamily = 'Nunito', '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif'; +Chart.defaults.global.defaultFontColor = '#858796'; + +// Pie Chart Example +var ctx = document.getElementById("myPieChart"); +var myPieChart = new Chart(ctx, { + type: 'doughnut', + data: { + labels: ["Direct", "Referral", "Social"], + datasets: [{ + data: [55, 30, 15], + backgroundColor: ['#4e73df', '#1cc88a', '#36b9cc'], + hoverBackgroundColor: ['#2e59d9', '#17a673', '#2c9faf'], + hoverBorderColor: "rgba(234, 236, 244, 1)", + }], + }, + options: { + maintainAspectRatio: false, + tooltips: { + backgroundColor: "rgb(255,255,255)", + bodyFontColor: "#858796", + borderColor: '#dddfeb', + borderWidth: 1, + xPadding: 15, + yPadding: 15, + displayColors: false, + caretPadding: 10, + }, + legend: { + display: false + }, + cutoutPercentage: 80, + }, +}); diff --git a/public/js/demo/datatables-demo.js b/public/js/demo/datatables-demo.js new file mode 100644 index 0000000..f2eecbf --- /dev/null +++ b/public/js/demo/datatables-demo.js @@ -0,0 +1,4 @@ +// Call the dataTables jQuery plugin +$(document).ready(function() { + $('#dataTable').DataTable(); +}); diff --git a/public/js/sb-admin-2.js b/public/js/sb-admin-2.js new file mode 100644 index 0000000..b0412d1 --- /dev/null +++ b/public/js/sb-admin-2.js @@ -0,0 +1,56 @@ +(function($) { + "use strict"; // Start of use strict + + // Toggle the side navigation + $("#sidebarToggle, #sidebarToggleTop").on('click', function(e) { + $("body").toggleClass("sidebar-toggled"); + $(".sidebar").toggleClass("toggled"); + if ($(".sidebar").hasClass("toggled")) { + $('.sidebar .collapse').collapse('hide'); + }; + }); + + // Close any open menu accordions when window is resized below 768px + $(window).resize(function() { + if ($(window).width() < 768) { + $('.sidebar .collapse').collapse('hide'); + }; + + // Toggle the side navigation when window is resized below 480px + if ($(window).width() < 480 && !$(".sidebar").hasClass("toggled")) { + $("body").addClass("sidebar-toggled"); + $(".sidebar").addClass("toggled"); + $('.sidebar .collapse').collapse('hide'); + }; + }); + + // Prevent the content wrapper from scrolling when the fixed side navigation hovered over + $('body.fixed-nav .sidebar').on('mousewheel DOMMouseScroll wheel', function(e) { + if ($(window).width() > 768) { + var e0 = e.originalEvent, + delta = e0.wheelDelta || -e0.detail; + this.scrollTop += (delta < 0 ? 1 : -1) * 30; + e.preventDefault(); + } + }); + + // Scroll to top button appear + $(document).on('scroll', function() { + var scrollDistance = $(this).scrollTop(); + if (scrollDistance > 100) { + $('.scroll-to-top').fadeIn(); + } else { + $('.scroll-to-top').fadeOut(); + } + }); + + // Smooth scrolling using jQuery easing + $(document).on('click', 'a.scroll-to-top', function(e) { + var $anchor = $(this); + $('html, body').stop().animate({ + scrollTop: ($($anchor.attr('href')).offset().top) + }, 1000, 'easeInOutExpo'); + e.preventDefault(); + }); + +})(jQuery); // End of use strict diff --git a/public/js/sb-admin-2.min.js b/public/js/sb-admin-2.min.js new file mode 100644 index 0000000..e7ffba9 --- /dev/null +++ b/public/js/sb-admin-2.min.js @@ -0,0 +1,7 @@ +/*! + * Start Bootstrap - SB Admin 2 v4.1.4 (https://startbootstrap.com/theme/sb-admin-2) + * Copyright 2013-2021 Start Bootstrap + * Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-sb-admin-2/blob/master/LICENSE) + */ + +!function(l){"use strict";l("#sidebarToggle, #sidebarToggleTop").on("click",function(e){l("body").toggleClass("sidebar-toggled"),l(".sidebar").toggleClass("toggled"),l(".sidebar").hasClass("toggled")&&l(".sidebar .collapse").collapse("hide")}),l(window).resize(function(){l(window).width()<768&&l(".sidebar .collapse").collapse("hide"),l(window).width()<480&&!l(".sidebar").hasClass("toggled")&&(l("body").addClass("sidebar-toggled"),l(".sidebar").addClass("toggled"),l(".sidebar .collapse").collapse("hide"))}),l("body.fixed-nav .sidebar").on("mousewheel DOMMouseScroll wheel",function(e){var o;768 elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $__default['default'](this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $__default['default'](selectors).each(function () { + var $target = $__default['default'](this); + var data = $target.data(DATA_KEY$3); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $__default['default'].fn[NAME$3] = Collapse._jQueryInterface; + $__default['default'].fn[NAME$3].Constructor = Collapse; + + $__default['default'].fn[NAME$3].noConflict = function () { + $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3; + return Collapse._jQueryInterface; + }; + + /**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.16.1 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined'; + + var timeoutDuration = function () { + var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; + for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + return 1; + } + } + return 0; + }(); + + function microtaskDebounce(fn) { + var called = false; + return function () { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function () { + called = false; + fn(); + }); + }; + } + + function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; + } + + var supportsMicroTasks = isBrowser && window.Promise; + + /** + * Create a debounced version of a method, that's asynchronously deferred + * but called in the minimum time possible. + * + * @method + * @memberof Popper.Utils + * @argument {Function} fn + * @returns {Function} + */ + var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; + + /** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ + function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; + } + + /** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ + function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var window = element.ownerDocument.defaultView; + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; + } + + /** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ + function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; + } + + /** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ + function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } + + switch (element.nodeName) { + case 'HTML': + case 'BODY': + return element.ownerDocument.body; + case '#document': + return element.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); + } + + /** + * Returns the reference node of the reference object, or the reference object itself. + * @method + * @memberof Popper.Utils + * @param {Element|Object} reference - the reference element (the popper will be relative to this) + * @returns {Element} parent + */ + function getReferenceNode(reference) { + return reference && reference.referenceNode ? reference.referenceNode : reference; + } + + var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); + var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); + + /** + * Determines if the browser is Internet Explorer + * @method + * @memberof Popper.Utils + * @param {Number} version to check + * @returns {Boolean} isIE + */ + function isIE(version) { + if (version === 11) { + return isIE11; + } + if (version === 10) { + return isIE10; + } + return isIE11 || isIE10; + } + + /** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ + function getOffsetParent(element) { + if (!element) { + return document.documentElement; + } + + var noOffsetParent = isIE(10) ? document.body : null; + + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent || null; + // Skip hidden elements which don't have an offsetParent + while (offsetParent === noOffsetParent && element.nextElementSibling) { + offsetParent = (element = element.nextElementSibling).offsetParent; + } + + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + return element ? element.ownerDocument.documentElement : document.documentElement; + } + + // .offsetParent will return the closest TH, TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; + } + + function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; + } + + /** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ + function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; + } + + /** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ + function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } + } + + /** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ + function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; + } + + /* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ + function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; + } + + /* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + + function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']); + } + + function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); + } + + function getWindowSizes(document) { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE(10) && getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; + } + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + + + + + var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + }; + + var _extends$1 = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + /** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ + function getClientRect(offsets) { + return _extends$1({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); + } + + /** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ + function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + try { + if (isIE(10)) { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } else { + rect = element.getBoundingClientRect(); + } + } catch (e) {} + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; + var width = sizes.width || element.clientWidth || result.width; + var height = sizes.height || element.clientHeight || result.height; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); + } + + function getOffsetRectRelativeToArbitraryNode(children, parent) { + var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var isIE10 = isIE(10); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth); + var borderLeftWidth = parseFloat(styles.borderLeftWidth); + + // In cases where the parent is fixed, we must ignore negative scroll in offset calc + if (fixedPosition && isHTML) { + parentRect.top = Math.max(parentRect.top, 0); + parentRect.left = Math.max(parentRect.left, 0); + } + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop); + var marginLeft = parseFloat(styles.marginLeft); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; + } + + function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = !excludeScroll ? getScroll(html) : 0; + var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); + } + + /** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ + function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + var parentNode = getParentNode(element); + if (!parentNode) { + return false; + } + return isFixed(parentNode); + } + + /** + * Finds the first parent of an element that has a transformed property defined + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} first transformed parent or documentElement + */ + + function getFixedPositionOffsetParent(element) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element || !element.parentElement || isIE()) { + return document.documentElement; + } + var el = element.parentElement; + while (el && getStyleComputedProperty(el, 'transform') === 'none') { + el = el.parentElement; + } + return el || document.documentElement; + } + + /** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @param {Boolean} fixedPosition - Is in fixed position mode + * @returns {Object} Coordinates of the boundaries + */ + function getBoundaries(popper, reference, padding, boundariesElement) { + var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + // NOTE: 1 DOM access here + + var boundaries = { top: 0, left: 0 }; + var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(popper.ownerDocument), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + padding = padding || 0; + var isPaddingNumber = typeof padding === 'number'; + boundaries.left += isPaddingNumber ? padding : padding.left || 0; + boundaries.top += isPaddingNumber ? padding : padding.top || 0; + boundaries.right -= isPaddingNumber ? padding : padding.right || 0; + boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; + + return boundaries; + } + + function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; + } + + /** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends$1({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); + } + + /** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @param {Element} fixedPosition - is in fixed position mode + * @returns {Object} An object containing the offsets which will be applied to the popper + */ + function getReferenceOffsets(state, popper, reference) { + var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); + } + + /** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ + function getOuterSizes(element) { + var window = element.ownerDocument.defaultView; + var styles = window.getComputedStyle(element); + var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0); + var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; + } + + /** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ + function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); + } + + /** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ + function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; + } + + /** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; + } + + /** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); + } + + /** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ + function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier['function']) { + // eslint-disable-line dot-notation + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; + } + + /** + * Updates the position of the popper, computing the new offsets and applying + * the new style.
+ * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ + function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + data.positionFixed = this.options.positionFixed; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + + data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } + } + + /** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ + function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); + } + + /** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ + function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; + } + + /** + * Destroys the popper. + * @method + * @memberof Popper + */ + function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style.left = ''; + this.popper.style.right = ''; + this.popper.style.bottom = ''; + this.popper.style.willChange = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicitly asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; + } + + /** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ + function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; + } + + function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); + } + + /** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; + } + + /** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ + function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } + } + + /** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; + } + + /** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger `onUpdate` callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ + function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } + } + + /** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ + function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); + } + + /** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); + } + + /** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ + function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; + } + + /** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper + * @param {Object} options - Popper.js options + */ + function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); + + return options; + } + + /** + * @function + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by `update` method + * @argument {Boolean} shouldRound - If the offsets should be rounded at all + * @returns {Object} The popper's position offsets rounded + * + * The tale of pixel-perfect positioning. It's still not 100% perfect, but as + * good as it can be within reason. + * Discussion here: https://github.com/FezVrasta/popper.js/pull/715 + * + * Low DPI screens cause a popper to be blurry if not using full pixels (Safari + * as well on High DPI screens). + * + * Firefox prefers no rounding for positioning and does not have blurriness on + * high DPI screens. + * + * Only horizontal placement and left/right values need to be considered. + */ + function getRoundedOffsets(data, shouldRound) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + var round = Math.round, + floor = Math.floor; + + var noRound = function noRound(v) { + return v; + }; + + var referenceWidth = round(reference.width); + var popperWidth = round(popper.width); + + var isVertical = ['left', 'right'].indexOf(data.placement) !== -1; + var isVariation = data.placement.indexOf('-') !== -1; + var sameWidthParity = referenceWidth % 2 === popperWidth % 2; + var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1; + + var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor; + var verticalToInteger = !shouldRound ? noRound : round; + + return { + left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), + top: verticalToInteger(popper.top), + bottom: verticalToInteger(popper.bottom), + right: horizontalToInteger(popper.right) + }; + } + + var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent); + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox); + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar) + // and not the bottom of the html element + if (offsetParent.nodeName === 'HTML') { + top = -offsetParent.clientHeight + offsets.bottom; + } else { + top = -offsetParentRect.height + offsets.bottom; + } + } else { + top = offsets.top; + } + if (sideB === 'right') { + if (offsetParent.nodeName === 'HTML') { + left = -offsetParent.clientWidth + offsets.right; + } else { + left = -offsetParentRect.width + offsets.right; + } + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends$1({}, attributes, data.attributes); + data.styles = _extends$1({}, styles, data.styles); + data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles); + + return data; + } + + /** + * Helper used to know if the given modifier depends from another one.
+ * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ + function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function arrow(data, options) { + var _data$offsets$arrow; + + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjunction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + data.offsets.popper = getClientRect(data.offsets.popper); + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css['margin' + sideCapitalized]); + var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); + + return data; + } + + /** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ + function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; + } + + /** + * List of accepted placements to use as values of the `placement` option.
+ * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.
+ * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-end` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ + var 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']; + + // Get rid of `auto` `auto-start` and `auto-end` + var validPlacements = placements.slice(3); + + /** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ + function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; + } + + var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' + }; + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + 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); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + + // flips variation if reference element overflows boundaries + var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + // flips variation if popper content overflows boundaries + var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop); + + var flippedVariation = flippedVariationByRef || flippedVariationByContent; + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; + } + + /** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ + function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } + } + + /** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ + function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + 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]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ + function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + // NOTE: DOM access here + // resets the popper's position so that the document size can be calculated excluding + // the size of the popper element itself + var transformProp = getSupportedPropertyName('transform'); + var popperStyles = data.instance.popper.style; // assignment to help minification + var top = popperStyles.top, + left = popperStyles.left, + transform = popperStyles[transformProp]; + + popperStyles.top = ''; + popperStyles.left = ''; + popperStyles[transformProp] = ''; + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); + + // NOTE: DOM access here + // restores the original style properties after the offsets have been computed + popperStyles.top = top; + popperStyles.left = left; + popperStyles[transformProp] = transform; + + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends$1({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]); + } + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; + } + + /** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.
+ * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + + /** + * Modifiers are plugins used to alter the behavior of your poppers.
+ * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ + var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.
+ * It will read the variation of the `placement` property.
+ * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unit-less, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.
+ * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the `height`. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.
+ * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.
+ * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * A scenario exists where the reference itself is not within the boundaries.
+ * We can say it has "escaped the boundaries" — or just "escaped".
+ * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper. This makes sure the popper always has a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier. Can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near each other + * without leaving any gap between the two. Especially useful when the arrow is + * enabled and you want to ensure that it points to its reference element. + * It cares only about the first axis. You can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjunction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations) + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position. + * The popper will never be placed outside of the defined boundaries + * (except if `keepTogether` is enabled) + */ + boundariesElement: 'viewport', + /** + * @prop {Boolean} flipVariations=false + * The popper will switch placement variation between `-start` and `-end` when + * the reference element overlaps its boundaries. + * + * The original placement should have a set variation. + */ + flipVariations: false, + /** + * @prop {Boolean} flipVariationsByContent=false + * The popper will switch placement variation between `-start` and `-end` when + * the popper element overlaps its reference boundaries. + * + * The original placement should have a set variation. + */ + flipVariationsByContent: false + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define your own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: undefined + } + }; + + /** + * The `dataObject` is an object containing all the information used by Popper.js. + * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + + /** + * Default options provided to Popper.js constructor.
+ * These can be overridden using the `options` argument of Popper.js.
+ * To override an option, simply pass an object with the same + * structure of the `options` object, as the 3rd argument. For example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ + var Defaults = { + /** + * Popper's placement. + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Set this to true if you want popper to position it self in 'fixed' mode + * @prop {Boolean} positionFixed=false + */ + positionFixed: false, + + /** + * Whether events (resize, scroll) are initially enabled. + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.
+ * By default, it is set to no-op.
+ * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated. This callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.
+ * By default, it is set to no-op.
+ * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js. + * @prop {modifiers} + */ + modifiers: modifiers + }; + + /** + * @callback onCreate + * @param {dataObject} data + */ + + /** + * @callback onUpdate + * @param {dataObject} data + */ + + // Utils + // Methods + var Popper = function () { + /** + * Creates a new Popper.js instance. + * @class Popper + * @param {Element|referenceObject} reference - The reference element used to position the popper + * @param {Element} popper - The HTML / XML element used as the popper + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends$1({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends$1({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedules an update. It will run on the next UI update available. + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; + }(); + + /** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.
+ * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10. + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + + Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; + Popper.placements = placements; + Popper.Defaults = Defaults; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$4 = 'dropdown'; + var VERSION$4 = '4.6.0'; + var DATA_KEY$4 = 'bs.dropdown'; + var EVENT_KEY$4 = "." + DATA_KEY$4; + var DATA_API_KEY$4 = '.data-api'; + var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var EVENT_HIDE$1 = "hide" + EVENT_KEY$4; + var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4; + var EVENT_SHOW$1 = "show" + EVENT_KEY$4; + var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4; + var EVENT_CLICK = "click" + EVENT_KEY$4; + var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4; + var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4; + var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4; + var CLASS_NAME_DISABLED = 'disabled'; + var CLASS_NAME_SHOW$2 = 'show'; + var CLASS_NAME_DROPUP = 'dropup'; + var CLASS_NAME_DROPRIGHT = 'dropright'; + var CLASS_NAME_DROPLEFT = 'dropleft'; + var CLASS_NAME_MENURIGHT = 'dropdown-menu-right'; + var CLASS_NAME_POSITION_STATIC = 'position-static'; + var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]'; + var SELECTOR_FORM_CHILD = '.dropdown form'; + var SELECTOR_MENU = '.dropdown-menu'; + var SELECTOR_NAVBAR_NAV = '.navbar-nav'; + var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; + var PLACEMENT_TOP = 'top-start'; + var PLACEMENT_TOPEND = 'top-end'; + var PLACEMENT_BOTTOM = 'bottom-start'; + var PLACEMENT_BOTTOMEND = 'bottom-end'; + var PLACEMENT_RIGHT = 'right-start'; + var PLACEMENT_LEFT = 'left-start'; + var Default$2 = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic', + popperConfig: null + }; + var DefaultType$2 = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string', + popperConfig: '(null|object)' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Dropdown = /*#__PURE__*/function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // Getters + + + var _proto = Dropdown.prototype; + + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) { + return; + } + + var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + this.show(true); + }; + + _proto.show = function show(usePopper) { + if (usePopper === void 0) { + usePopper = false; + } + + if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $__default['default'](parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } // Totally disable Popper for Dropdowns in Navbar + + + if (!this._inNavbar && usePopper) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); + } + + var referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC); + } + + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) { + $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2); + $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget)); + }; + + _proto.hide = function hide() { + if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $__default['default'](parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + if (this._popper) { + this._popper.destroy(); + } + + $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2); + $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $__default['default'].removeData(this._element, DATA_KEY$4); + $__default['default'](this._element).off(EVENT_KEY$4); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + ; + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $__default['default'](this._element).on(EVENT_CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config); + Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = parent.querySelector(SELECTOR_MENU); + } + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $__default['default'](this._element.parentNode); + var placement = PLACEMENT_BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) { + placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) { + placement = PLACEMENT_RIGHT; + } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) { + placement = PLACEMENT_LEFT; + } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) { + placement = PLACEMENT_BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $__default['default'](this._element).closest('.navbar').length > 0; + }; + + _proto._getOffset = function _getOffset() { + var _this2 = this; + + var offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } + }; // Disable Popper if we have a static display + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return _extends({}, popperConfig, this._config.popperConfig); + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$4); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $__default['default'](this).data(DATA_KEY$4, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)); + + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $__default['default'](toggles[i]).data(DATA_KEY$4); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) { + continue; + } + + var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget); + $__default['default'](parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + + if (context._popper) { + context._popper.destroy(); + } + + $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2); + $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = document.querySelector(selector); + } + + return parent || element.parentNode; + } // eslint-disable-next-line complexity + ; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2); + + if (!isActive && event.which === ESCAPE_KEYCODE) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) { + if (event.which === ESCAPE_KEYCODE) { + $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus'); + } + + $__default['default'](this).trigger('click'); + return; + } + + var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) { + return $__default['default'](item).is(':visible'); + }); + + if (items.length === 0) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION$4; + } + }, { + key: "Default", + get: function get() { + return Default$2; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$2; + } + }]); + + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($__default['default'](this), 'toggle'); + }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface; + $__default['default'].fn[NAME$4].Constructor = Dropdown; + + $__default['default'].fn[NAME$4].noConflict = function () { + $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4; + return Dropdown._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$5 = 'modal'; + var VERSION$5 = '4.6.0'; + var DATA_KEY$5 = 'bs.modal'; + var EVENT_KEY$5 = "." + DATA_KEY$5; + var DATA_API_KEY$5 = '.data-api'; + var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5]; + var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default$3 = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType$3 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var EVENT_HIDE$2 = "hide" + EVENT_KEY$5; + var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5; + var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5; + var EVENT_SHOW$2 = "show" + EVENT_KEY$5; + var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5; + var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5; + var EVENT_RESIZE = "resize" + EVENT_KEY$5; + var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5; + var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5; + var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5; + var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5; + var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5; + var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'; + var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; + var CLASS_NAME_BACKDROP = 'modal-backdrop'; + var CLASS_NAME_OPEN = 'modal-open'; + var CLASS_NAME_FADE$1 = 'fade'; + var CLASS_NAME_SHOW$3 = 'show'; + var CLASS_NAME_STATIC = 'modal-static'; + var SELECTOR_DIALOG = '.modal-dialog'; + var SELECTOR_MODAL_BODY = '.modal-body'; + var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]'; + var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]'; + var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; + var SELECTOR_STICKY_CONTENT = '.sticky-top'; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Modal = /*#__PURE__*/function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(SELECTOR_DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + } // Getters + + + var _proto = Modal.prototype; + + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isShown || this._isTransitioning) { + return; + } + + if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) { + this._isTransitioning = true; + } + + var showEvent = $__default['default'].Event(EVENT_SHOW$2, { + relatedTarget: relatedTarget + }); + $__default['default'](this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () { + $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) { + if ($__default['default'](event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + var hideEvent = $__default['default'].Event(EVENT_HIDE$2); + $__default['default'](this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $__default['default'](document).off(EVENT_FOCUSIN); + $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3); + $__default['default'](this._element).off(EVENT_CLICK_DISMISS); + $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS); + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $__default['default'](this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + [window, this._element, this._dialog].forEach(function (htmlElement) { + return $__default['default'](htmlElement).off(EVENT_KEY$5); + }); + /** + * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `EVENT_CLICK_DATA_API` event that should remain + */ + + $__default['default'](document).off(EVENT_FOCUSIN); + $__default['default'].removeData(this._element, DATA_KEY$5); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._isTransitioning = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$3, config); + Util.typeCheckConfig(NAME$5, config, DefaultType$3); + return config; + }; + + _proto._triggerBackdropTransition = function _triggerBackdropTransition() { + var _this3 = this; + + var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED); + $__default['default'](this._element).trigger(hideEventPrevented); + + if (hideEventPrevented.isDefaultPrevented()) { + return; + } + + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!isModalOverflowing) { + this._element.style.overflowY = 'hidden'; + } + + this._element.classList.add(CLASS_NAME_STATIC); + + var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $__default['default'](this._element).off(Util.TRANSITION_END); + $__default['default'](this._element).one(Util.TRANSITION_END, function () { + _this3._element.classList.remove(CLASS_NAME_STATIC); + + if (!isModalOverflowing) { + $__default['default'](_this3._element).one(Util.TRANSITION_END, function () { + _this3._element.style.overflowY = ''; + }).emulateTransitionEnd(_this3._element, modalTransitionDuration); + } + }).emulateTransitionEnd(modalTransitionDuration); + + this._element.focus(); + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this4 = this; + + var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1); + var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null; + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + this._element.setAttribute('role', 'dialog'); + + if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) { + modalBody.scrollTop = 0; + } else { + this._element.scrollTop = 0; + } + + if (transition) { + Util.reflow(this._element); + } + + $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this4._config.focus) { + _this4._element.focus(); + } + + _this4._isTransitioning = false; + $__default['default'](_this4._element).trigger(shownEvent); + }; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this5 = this; + + $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop + .on(EVENT_FOCUSIN, function (event) { + if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) { + _this5._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this6 = this; + + if (this._isShown) { + $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) { + if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) { + event.preventDefault(); + + _this6.hide(); + } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) { + _this6._triggerBackdropTransition(); + } + }); + } else if (!this._isShown) { + $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this7 = this; + + if (this._isShown) { + $__default['default'](window).on(EVENT_RESIZE, function (event) { + return _this7.handleUpdate(event); + }); + } else { + $__default['default'](window).off(EVENT_RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this8 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._element.removeAttribute('role'); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $__default['default'](document.body).removeClass(CLASS_NAME_OPEN); + + _this8._resetAdjustments(); + + _this8._resetScrollbar(); + + $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $__default['default'](this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this9 = this; + + var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = CLASS_NAME_BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + $__default['default'](this._backdrop).appendTo(document.body); + $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) { + if (_this9._ignoreBackdropClick) { + _this9._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this9._config.backdrop === 'static') { + _this9._triggerBackdropTransition(); + } else { + _this9.hide(); + } + }); + + if (animate) { + Util.reflow(this._backdrop); + } + + $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3); + + var callbackRemove = function callbackRemove() { + _this9._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + ; + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this10 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding + + $__default['default'](fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $__default['default'](element).css('padding-right'); + $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $__default['default'](stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $__default['default'](element).css('margin-right'); + $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $__default['default'](document.body).css('padding-right'); + $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + + $__default['default'](document.body).addClass(CLASS_NAME_OPEN); + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); + $__default['default'](fixedContent).each(function (index, element) { + var padding = $__default['default'](element).data('padding-right'); + $__default['default'](element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT)); + $__default['default'](elements).each(function (index, element) { + var margin = $__default['default'](element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $__default['default'](element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $__default['default'](document.body).data('padding-right'); + $__default['default'](document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + ; + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$5); + + var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + $__default['default'](this).data(DATA_KEY$5, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION$5; + } + }, { + key: "Default", + get: function get() { + return Default$3; + } + }]); + + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) { + var _this11 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = document.querySelector(selector); + } + + var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; + } + + $target.one(EVENT_HIDDEN$2, function () { + if ($__default['default'](_this11).is(':visible')) { + _this11.focus(); + } + }); + }); + + Modal._jQueryInterface.call($__default['default'](target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $__default['default'].fn[NAME$5] = Modal._jQueryInterface; + $__default['default'].fn[NAME$5].Constructor = Modal; + + $__default['default'].fn[NAME$5].noConflict = function () { + $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5; + return Modal._jQueryInterface; + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.6.0): tools/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }; + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi; + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; + + function allowedAttribute(attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + var regExp = allowedAttributeList.filter(function (attrRegex) { + return attrRegex instanceof RegExp; + }); // Check if a regular expression validates the attribute. + + for (var i = 0, len = regExp.length; i < len; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; + } + + function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (unsafeHtml.length === 0) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + var domParser = new window.DOMParser(); + var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + var whitelistKeys = Object.keys(whiteList); + var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); + + var _loop = function _loop(i, len) { + var el = elements[i]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { + el.parentNode.removeChild(el); + return "continue"; + } + + var attributeList = [].slice.call(el.attributes); + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(function (attr) { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + }); + }; + + for (var i = 0, len = elements.length; i < len; i++) { + var _ret = _loop(i); + + if (_ret === "continue") continue; + } + + return createdDocument.body.innerHTML; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$6 = 'tooltip'; + var VERSION$6 = '4.6.0'; + var DATA_KEY$6 = 'bs.tooltip'; + var EVENT_KEY$6 = "." + DATA_KEY$6; + var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6]; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + var DefaultType$4 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + customClass: '(string|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object', + popperConfig: '(null|object)' + }; + var AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default$4 = { + animation: true, + template: '

', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + customClass: '', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist, + popperConfig: null + }; + var HOVER_STATE_SHOW = 'show'; + var HOVER_STATE_OUT = 'out'; + var Event = { + HIDE: "hide" + EVENT_KEY$6, + HIDDEN: "hidden" + EVENT_KEY$6, + SHOW: "show" + EVENT_KEY$6, + SHOWN: "shown" + EVENT_KEY$6, + INSERTED: "inserted" + EVENT_KEY$6, + CLICK: "click" + EVENT_KEY$6, + FOCUSIN: "focusin" + EVENT_KEY$6, + FOCUSOUT: "focusout" + EVENT_KEY$6, + MOUSEENTER: "mouseenter" + EVENT_KEY$6, + MOUSELEAVE: "mouseleave" + EVENT_KEY$6 + }; + var CLASS_NAME_FADE$2 = 'fade'; + var CLASS_NAME_SHOW$4 = 'show'; + var SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; + var SELECTOR_ARROW = '.arrow'; + var TRIGGER_HOVER = 'hover'; + var TRIGGER_FOCUS = 'focus'; + var TRIGGER_CLICK = 'click'; + var TRIGGER_MANUAL = 'manual'; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Tooltip = /*#__PURE__*/function () { + function Tooltip(element, config) { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); + } // private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + var _proto = Tooltip.prototype; + + // Public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $__default['default'](event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $__default['default'](event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $__default['default'].removeData(this.element, this.constructor.DATA_KEY); + $__default['default'](this.element).off(this.constructor.EVENT_KEY); + $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); + + if (this.tip) { + $__default['default'](this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($__default['default'](this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $__default['default'].Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $__default['default'](this.element).trigger(showEvent); + var shadowRoot = Util.findShadowRoot(this.element); + var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $__default['default'](tip).addClass(CLASS_NAME_FADE$2); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + var container = this._getContainer(); + + $__default['default'](tip).data(this.constructor.DATA_KEY, this); + + if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) { + $__default['default'](tip).appendTo(container); + } + + $__default['default'](this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment)); + $__default['default'](tip).addClass(CLASS_NAME_SHOW$4); + $__default['default'](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HOVER_STATE_OUT) { + _this._leave(null, _this); + } + }; + + if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) { + var transitionDuration = Util.getTransitionDurationFromElement(this.tip); + $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $__default['default'](this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop); + } + + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + + if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) { + var transitionDuration = Util.getTransitionDurationFromElement(tip); + $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + ; + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $__default['default'](this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var tip = this.getTipElement(); + this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle()); + $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4); + }; + + _proto.setElementContent = function setElementContent($element, content) { + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // Content is a DOM node or a jQuery + if (this.config.html) { + if (!$__default['default'](content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($__default['default'](content).text()); + } + + return; + } + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + $element.html(content); + } else { + $element.text(content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + ; + + _proto._getPopperConfig = function _getPopperConfig(attachment) { + var _this3 = this; + + var defaultBsConfig = { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: SELECTOR_ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this3._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + return _this3._handlePopperPlacementChange(data); + } + }; + return _extends({}, defaultBsConfig, this.config.popperConfig); + }; + + _proto._getOffset = function _getOffset() { + var _this4 = this; + + var offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {}); + return data; + }; + } else { + offset.offset = this.config.offset; + } + + return offset; + }; + + _proto._getContainer = function _getContainer() { + if (this.config.container === false) { + return document.body; + } + + if (Util.isElement(this.config.container)) { + return $__default['default'](this.config.container); + } + + return $__default['default'](document).find(this.config.container); + }; + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this5 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { + return _this5.toggle(event); + }); + } else if (trigger !== TRIGGER_MANUAL) { + var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; + var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; + $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) { + return _this5._enter(event); + }).on(eventOut, _this5.config.selector, function (event) { + return _this5._leave(event); + }); + } + }); + + this._hideModalHandler = function () { + if (_this5.element) { + _this5.hide(); + } + }; + + $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); + + if (this.config.selector) { + this.config = _extends({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $__default['default'](event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $__default['default'](event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + } + + if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) { + context._hoverState = HOVER_STATE_SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HOVER_STATE_SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HOVER_STATE_SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $__default['default'](event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $__default['default'](event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HOVER_STATE_OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HOVER_STATE_OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + var dataAttributes = $__default['default'](this.element).data(); + Object.keys(dataAttributes).forEach(function (dataAttr) { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); + } + + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $__default['default'](this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + this.tip = popperData.instance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $__default['default'](tip).removeClass(CLASS_NAME_FADE$2); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + ; + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $__default['default'](this); + var data = $element.data(DATA_KEY$6); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $element.data(DATA_KEY$6, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION$6; + } + }, { + key: "Default", + get: function get() { + return Default$4; + } + }, { + key: "NAME", + get: function get() { + return NAME$6; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$6; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$6; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$4; + } + }]); + + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface; + $__default['default'].fn[NAME$6].Constructor = Tooltip; + + $__default['default'].fn[NAME$6].noConflict = function () { + $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6; + return Tooltip._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$7 = 'popover'; + var VERSION$7 = '4.6.0'; + var DATA_KEY$7 = 'bs.popover'; + var EVENT_KEY$7 = "." + DATA_KEY$7; + var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7]; + var CLASS_PREFIX$1 = 'bs-popover'; + var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); + + var Default$5 = _extends({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }); + + var DefaultType$5 = _extends({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var CLASS_NAME_FADE$3 = 'fade'; + var CLASS_NAME_SHOW$5 = 'show'; + var SELECTOR_TITLE = '.popover-header'; + var SELECTOR_CONTENT = '.popover-body'; + var Event$1 = { + HIDE: "hide" + EVENT_KEY$7, + HIDDEN: "hidden" + EVENT_KEY$7, + SHOW: "show" + EVENT_KEY$7, + SHOWN: "shown" + EVENT_KEY$7, + INSERTED: "inserted" + EVENT_KEY$7, + CLICK: "click" + EVENT_KEY$7, + FOCUSIN: "focusin" + EVENT_KEY$7, + FOCUSOUT: "focusout" + EVENT_KEY$7, + MOUSEENTER: "mouseenter" + EVENT_KEY$7, + MOUSELEAVE: "mouseleave" + EVENT_KEY$7 + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Popover = /*#__PURE__*/function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $__default['default'](this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events + + this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle()); + + var content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent($tip.find(SELECTOR_CONTENT), content); + $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5); + } // Private + ; + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $__default['default'](this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + } // Static + ; + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$7); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $__default['default'](this).data(DATA_KEY$7, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + // Getters + get: function get() { + return VERSION$7; + } + }, { + key: "Default", + get: function get() { + return Default$5; + } + }, { + key: "NAME", + get: function get() { + return NAME$7; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$7; + } + }, { + key: "Event", + get: function get() { + return Event$1; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$7; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$5; + } + }]); + + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $__default['default'].fn[NAME$7] = Popover._jQueryInterface; + $__default['default'].fn[NAME$7].Constructor = Popover; + + $__default['default'].fn[NAME$7].noConflict = function () { + $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7; + return Popover._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$8 = 'scrollspy'; + var VERSION$8 = '4.6.0'; + var DATA_KEY$8 = 'bs.scrollspy'; + var EVENT_KEY$8 = "." + DATA_KEY$8; + var DATA_API_KEY$6 = '.data-api'; + var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8]; + var Default$6 = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType$6 = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var EVENT_ACTIVATE = "activate" + EVENT_KEY$8; + var EVENT_SCROLL = "scroll" + EVENT_KEY$8; + var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$8 + DATA_API_KEY$6; + var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; + var CLASS_NAME_ACTIVE$2 = 'active'; + var SELECTOR_DATA_SPY = '[data-spy="scroll"]'; + var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; + var SELECTOR_NAV_LINKS = '.nav-link'; + var SELECTOR_NAV_ITEMS = '.nav-item'; + var SELECTOR_LIST_ITEMS = '.list-group-item'; + var SELECTOR_DROPDOWN = '.dropdown'; + var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'; + var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; + var METHOD_OFFSET = 'offset'; + var METHOD_POSITION = 'position'; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var ScrollSpy = /*#__PURE__*/function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // Getters + + + var _proto = ScrollSpy.prototype; + + // Public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $__default['default'].removeData(this._element, DATA_KEY$8); + $__default['default'](this._scrollElement).off(EVENT_KEY$8); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$6, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string' && Util.isElement(config.target)) { + var id = $__default['default'](config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME$8); + $__default['default'](config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME$8, config, DefaultType$6); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + for (var i = this._offsets.length; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; + }); + + var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(',')))); + + if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) { + $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2); + $link.addClass(CLASS_NAME_ACTIVE$2); + } else { + // Set triggered link as active + $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active + // With both