From 09e72b6b4bf8f792d19826ea9bd800cb17341ae2 Mon Sep 17 00:00:00 2001 From: pujirahayu01 Date: Mon, 3 Jun 2024 13:35:48 +0700 Subject: [PATCH] project push --- .idea/.gitignore | 3 + .idea/Website.iml | 8 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + LICENSE | 21 + README.md | 5 + __pycache__/app.cpython-310.pyc | Bin 0 -> 9542 bytes __pycache__/app.cpython-311.pyc | Bin 0 -> 22506 bytes __pycache__/app.cpython-38.pyc | Bin 0 -> 6233 bytes __pycache__/pipeline.cpython-38.pyc | Bin 0 -> 2244 bytes __pycache__/preprocessing.cpython-38.pyc | Bin 0 -> 2318 bytes __pycache__/sentimen.cpython-310.pyc | Bin 0 -> 2142 bytes __pycache__/sentimen.cpython-311.pyc | Bin 0 -> 4739 bytes __pycache__/sentimen.cpython-38.pyc | Bin 0 -> 2512 bytes app copy.py | 344 + app.py | 464 + results.txt | 14 + sentimen.py | 101 + slang_formal_mapping.csv | 15011 +++++++++++ static/.browserslistrc | 13 + static/.gitignore | 1 + static/.travis.yml | 14 + static/LICENSE | 21 + static/PRO_UPGRADE.txt | 34 + static/README.md | 65 + static/css/sb-admin-2.css | 11281 ++++++++ static/css/sb-admin-2.min.css | 10 + static/gulpfile.js | 145 + static/img/201851041.jpg | Bin 0 -> 26719 bytes static/img/logo-umk.png | Bin 0 -> 185587 bytes static/js/demo/chart-area-demo.js | 118 + static/js/demo/chart-bar-demo.js | 111 + static/js/demo/chart-pie-demo.js | 35 + static/js/demo/datatables-demo.js | 4 + static/js/sb-admin-2.js | 56 + static/js/sb-admin-2.min.js | 7 + static/package-lock.json | 15265 +++++++++++ static/package.json | 54 + static/scss/_buttons.scss | 52 + static/scss/_cards.scss | 36 + static/scss/_charts.scss | 29 + static/scss/_dropdowns.scss | 21 + static/scss/_error.scss | 52 + static/scss/_footer.scss | 14 + static/scss/_global.scss | 60 + static/scss/_login.scss | 50 + static/scss/_mixins.scss | 1 + static/scss/_navs.scss | 3 + static/scss/_utilities.scss | 7 + static/scss/_variables.scss | 81 + static/scss/navs/_global.scss | 42 + static/scss/navs/_sidebar.scss | 477 + static/scss/navs/_topbar.scss | 144 + static/scss/sb-admin-2.scss | 20 + static/scss/utilities/_animation.scss | 37 + static/scss/utilities/_background.scss | 17 + static/scss/utilities/_border.scss | 7 + static/scss/utilities/_display.scss | 4 + static/scss/utilities/_progress.scss | 3 + static/scss/utilities/_rotate.scss | 7 + static/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 + static/vendor/bootstrap/js/bootstrap.js | 4432 ++++ static/vendor/bootstrap/js/bootstrap.js.map | 1 + static/vendor/bootstrap/js/bootstrap.min.js | 7 + .../vendor/bootstrap/js/bootstrap.min.js.map | 1 + static/vendor/bootstrap/scss/_alert.scss | 52 + static/vendor/bootstrap/scss/_badge.scss | 54 + static/vendor/bootstrap/scss/_breadcrumb.scss | 42 + .../vendor/bootstrap/scss/_button-group.scss | 163 + static/vendor/bootstrap/scss/_buttons.scss | 142 + static/vendor/bootstrap/scss/_card.scss | 286 + static/vendor/bootstrap/scss/_carousel.scss | 197 + static/vendor/bootstrap/scss/_close.scss | 40 + static/vendor/bootstrap/scss/_code.scss | 48 + .../vendor/bootstrap/scss/_custom-forms.scss | 526 + static/vendor/bootstrap/scss/_dropdown.scss | 192 + static/vendor/bootstrap/scss/_forms.scss | 347 + static/vendor/bootstrap/scss/_functions.scss | 144 + static/vendor/bootstrap/scss/_grid.scss | 73 + static/vendor/bootstrap/scss/_images.scss | 42 + .../vendor/bootstrap/scss/_input-group.scss | 208 + static/vendor/bootstrap/scss/_jumbotron.scss | 17 + static/vendor/bootstrap/scss/_list-group.scss | 154 + static/vendor/bootstrap/scss/_media.scss | 8 + static/vendor/bootstrap/scss/_mixins.scss | 47 + static/vendor/bootstrap/scss/_modal.scss | 240 + static/vendor/bootstrap/scss/_nav.scss | 120 + static/vendor/bootstrap/scss/_navbar.scss | 332 + static/vendor/bootstrap/scss/_pagination.scss | 74 + static/vendor/bootstrap/scss/_popover.scss | 170 + static/vendor/bootstrap/scss/_print.scss | 141 + static/vendor/bootstrap/scss/_progress.scss | 47 + static/vendor/bootstrap/scss/_reboot.scss | 484 + static/vendor/bootstrap/scss/_root.scss | 19 + static/vendor/bootstrap/scss/_spinners.scss | 65 + static/vendor/bootstrap/scss/_tables.scss | 185 + static/vendor/bootstrap/scss/_toasts.scss | 46 + static/vendor/bootstrap/scss/_tooltip.scss | 115 + .../vendor/bootstrap/scss/_transitions.scss | 20 + static/vendor/bootstrap/scss/_type.scss | 125 + static/vendor/bootstrap/scss/_utilities.scss | 18 + static/vendor/bootstrap/scss/_variables.scss | 1146 + .../vendor/bootstrap/scss/bootstrap-grid.scss | 30 + .../bootstrap/scss/bootstrap-reboot.scss | 12 + static/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 + static/vendor/bootstrap/scss/vendor/_rfs.scss | 204 + static/vendor/chart.js/Chart.bundle.js | 20776 +++++++++++++++ static/vendor/chart.js/Chart.bundle.min.js | 7 + static/vendor/chart.js/Chart.js | 16172 ++++++++++++ static/vendor/chart.js/Chart.min.js | 7 + .../datatables/dataTables.bootstrap4.css | 210 + .../datatables/dataTables.bootstrap4.js | 184 + .../datatables/dataTables.bootstrap4.min.css | 1 + .../datatables/dataTables.bootstrap4.min.js | 8 + static/vendor/datatables/jquery.dataTables.js | 15387 +++++++++++ .../datatables/jquery.dataTables.min.js | 168 + static/vendor/fontawesome-free/LICENSE.txt | 34 + static/vendor/fontawesome-free/attribution.js | 3 + static/vendor/fontawesome-free/css/all.css | 4619 ++++ .../vendor/fontawesome-free/css/all.min.css | 5 + static/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 + static/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 + static/vendor/fontawesome-free/js/all.js | 4467 ++++ static/vendor/fontawesome-free/js/all.min.js | 5 + static/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 + static/vendor/fontawesome-free/js/regular.js | 280 + .../vendor/fontawesome-free/js/regular.min.js | 5 + static/vendor/fontawesome-free/js/solid.js | 1130 + .../vendor/fontawesome-free/js/solid.min.js | 5 + static/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 + static/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 + static/vendor/jquery-easing/jquery.easing.js | 166 + .../vendor/jquery-easing/jquery.easing.min.js | 1 + static/vendor/jquery/jquery.js | 10881 ++++++++ static/vendor/jquery/jquery.min.js | 2 + static/vendor/jquery/jquery.min.map | 1 + static/vendor/jquery/jquery.slim.js | 8782 +++++++ static/vendor/jquery/jquery.slim.min.js | 2 + static/vendor/jquery/jquery.slim.min.map | 1 + templates/footer.html | 43 + templates/header.html | 135 + templates/index.html | 92 + templates/klasifikasisvm.html | 216 + templates/normalisasi.html | 74 + templates/preprocessing.html | 52 + templates/tesmodel.html | 66 + templates/tfidf copy.html | 81 + templates/tfidf.html | 76 + templates/uploaddata.html | 50 + uploads/dataset.csv | 2751 ++ uploads/dataset_clear.csv | 2750 ++ uploads/dataset_stemmed.csv | 2750 ++ uploads/rbf.model | Bin 0 -> 323458 bytes uploads/stem.csv | 101 + uploads/vectorizer.model | Bin 0 -> 121695 bytes 1896 files changed, 220066 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/Website.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 __pycache__/app.cpython-310.pyc create mode 100644 __pycache__/app.cpython-311.pyc create mode 100644 __pycache__/app.cpython-38.pyc create mode 100644 __pycache__/pipeline.cpython-38.pyc create mode 100644 __pycache__/preprocessing.cpython-38.pyc create mode 100644 __pycache__/sentimen.cpython-310.pyc create mode 100644 __pycache__/sentimen.cpython-311.pyc create mode 100644 __pycache__/sentimen.cpython-38.pyc create mode 100644 app copy.py create mode 100644 app.py create mode 100644 results.txt create mode 100644 sentimen.py create mode 100644 slang_formal_mapping.csv create mode 100644 static/.browserslistrc create mode 100644 static/.gitignore create mode 100644 static/.travis.yml create mode 100644 static/LICENSE create mode 100644 static/PRO_UPGRADE.txt create mode 100644 static/README.md create mode 100644 static/css/sb-admin-2.css create mode 100644 static/css/sb-admin-2.min.css create mode 100644 static/gulpfile.js create mode 100644 static/img/201851041.jpg create mode 100644 static/img/logo-umk.png create mode 100644 static/js/demo/chart-area-demo.js create mode 100644 static/js/demo/chart-bar-demo.js create mode 100644 static/js/demo/chart-pie-demo.js create mode 100644 static/js/demo/datatables-demo.js create mode 100644 static/js/sb-admin-2.js create mode 100644 static/js/sb-admin-2.min.js create mode 100644 static/package-lock.json create mode 100644 static/package.json create mode 100644 static/scss/_buttons.scss create mode 100644 static/scss/_cards.scss create mode 100644 static/scss/_charts.scss create mode 100644 static/scss/_dropdowns.scss create mode 100644 static/scss/_error.scss create mode 100644 static/scss/_footer.scss create mode 100644 static/scss/_global.scss create mode 100644 static/scss/_login.scss create mode 100644 static/scss/_mixins.scss create mode 100644 static/scss/_navs.scss create mode 100644 static/scss/_utilities.scss create mode 100644 static/scss/_variables.scss create mode 100644 static/scss/navs/_global.scss create mode 100644 static/scss/navs/_sidebar.scss create mode 100644 static/scss/navs/_topbar.scss create mode 100644 static/scss/sb-admin-2.scss create mode 100644 static/scss/utilities/_animation.scss create mode 100644 static/scss/utilities/_background.scss create mode 100644 static/scss/utilities/_border.scss create mode 100644 static/scss/utilities/_display.scss create mode 100644 static/scss/utilities/_progress.scss create mode 100644 static/scss/utilities/_rotate.scss create mode 100644 static/scss/utilities/_text.scss create mode 100644 static/vendor/bootstrap/js/bootstrap.bundle.js create mode 100644 static/vendor/bootstrap/js/bootstrap.bundle.js.map create mode 100644 static/vendor/bootstrap/js/bootstrap.bundle.min.js create mode 100644 static/vendor/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 static/vendor/bootstrap/js/bootstrap.js create mode 100644 static/vendor/bootstrap/js/bootstrap.js.map create mode 100644 static/vendor/bootstrap/js/bootstrap.min.js create mode 100644 static/vendor/bootstrap/js/bootstrap.min.js.map create mode 100644 static/vendor/bootstrap/scss/_alert.scss create mode 100644 static/vendor/bootstrap/scss/_badge.scss create mode 100644 static/vendor/bootstrap/scss/_breadcrumb.scss create mode 100644 static/vendor/bootstrap/scss/_button-group.scss create mode 100644 static/vendor/bootstrap/scss/_buttons.scss create mode 100644 static/vendor/bootstrap/scss/_card.scss create mode 100644 static/vendor/bootstrap/scss/_carousel.scss create mode 100644 static/vendor/bootstrap/scss/_close.scss create mode 100644 static/vendor/bootstrap/scss/_code.scss create mode 100644 static/vendor/bootstrap/scss/_custom-forms.scss create mode 100644 static/vendor/bootstrap/scss/_dropdown.scss create mode 100644 static/vendor/bootstrap/scss/_forms.scss create mode 100644 static/vendor/bootstrap/scss/_functions.scss create mode 100644 static/vendor/bootstrap/scss/_grid.scss create mode 100644 static/vendor/bootstrap/scss/_images.scss create mode 100644 static/vendor/bootstrap/scss/_input-group.scss create mode 100644 static/vendor/bootstrap/scss/_jumbotron.scss create mode 100644 static/vendor/bootstrap/scss/_list-group.scss create mode 100644 static/vendor/bootstrap/scss/_media.scss create mode 100644 static/vendor/bootstrap/scss/_mixins.scss create mode 100644 static/vendor/bootstrap/scss/_modal.scss create mode 100644 static/vendor/bootstrap/scss/_nav.scss create mode 100644 static/vendor/bootstrap/scss/_navbar.scss create mode 100644 static/vendor/bootstrap/scss/_pagination.scss create mode 100644 static/vendor/bootstrap/scss/_popover.scss create mode 100644 static/vendor/bootstrap/scss/_print.scss create mode 100644 static/vendor/bootstrap/scss/_progress.scss create mode 100644 static/vendor/bootstrap/scss/_reboot.scss create mode 100644 static/vendor/bootstrap/scss/_root.scss create mode 100644 static/vendor/bootstrap/scss/_spinners.scss create mode 100644 static/vendor/bootstrap/scss/_tables.scss create mode 100644 static/vendor/bootstrap/scss/_toasts.scss create mode 100644 static/vendor/bootstrap/scss/_tooltip.scss create mode 100644 static/vendor/bootstrap/scss/_transitions.scss create mode 100644 static/vendor/bootstrap/scss/_type.scss create mode 100644 static/vendor/bootstrap/scss/_utilities.scss create mode 100644 static/vendor/bootstrap/scss/_variables.scss create mode 100644 static/vendor/bootstrap/scss/bootstrap-grid.scss create mode 100644 static/vendor/bootstrap/scss/bootstrap-reboot.scss create mode 100644 static/vendor/bootstrap/scss/bootstrap.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_alert.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_background-variant.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_badge.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_border-radius.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_box-shadow.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_breakpoints.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_buttons.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_caret.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_clearfix.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_deprecate.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_float.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_forms.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_gradients.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_grid-framework.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_grid.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_hover.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_image.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_list-group.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_lists.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_nav-divider.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_pagination.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_reset-text.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_resize.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_screen-reader.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_size.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_table-row.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_text-emphasis.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_text-hide.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_text-truncate.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_transition.scss create mode 100644 static/vendor/bootstrap/scss/mixins/_visibility.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_align.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_background.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_borders.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_clearfix.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_display.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_embed.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_flex.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_float.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_interactions.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_overflow.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_position.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_screenreaders.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_shadows.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_sizing.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_spacing.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_stretched-link.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_text.scss create mode 100644 static/vendor/bootstrap/scss/utilities/_visibility.scss create mode 100644 static/vendor/bootstrap/scss/vendor/_rfs.scss create mode 100644 static/vendor/chart.js/Chart.bundle.js create mode 100644 static/vendor/chart.js/Chart.bundle.min.js create mode 100644 static/vendor/chart.js/Chart.js create mode 100644 static/vendor/chart.js/Chart.min.js create mode 100644 static/vendor/datatables/dataTables.bootstrap4.css create mode 100644 static/vendor/datatables/dataTables.bootstrap4.js create mode 100644 static/vendor/datatables/dataTables.bootstrap4.min.css create mode 100644 static/vendor/datatables/dataTables.bootstrap4.min.js create mode 100644 static/vendor/datatables/jquery.dataTables.js create mode 100644 static/vendor/datatables/jquery.dataTables.min.js create mode 100644 static/vendor/fontawesome-free/LICENSE.txt create mode 100644 static/vendor/fontawesome-free/attribution.js create mode 100644 static/vendor/fontawesome-free/css/all.css create mode 100644 static/vendor/fontawesome-free/css/all.min.css create mode 100644 static/vendor/fontawesome-free/css/brands.css create mode 100644 static/vendor/fontawesome-free/css/brands.min.css create mode 100644 static/vendor/fontawesome-free/css/fontawesome.css create mode 100644 static/vendor/fontawesome-free/css/fontawesome.min.css create mode 100644 static/vendor/fontawesome-free/css/regular.css create mode 100644 static/vendor/fontawesome-free/css/regular.min.css create mode 100644 static/vendor/fontawesome-free/css/solid.css create mode 100644 static/vendor/fontawesome-free/css/solid.min.css create mode 100644 static/vendor/fontawesome-free/css/svg-with-js.css create mode 100644 static/vendor/fontawesome-free/css/svg-with-js.min.css create mode 100644 static/vendor/fontawesome-free/css/v4-shims.css create mode 100644 static/vendor/fontawesome-free/css/v4-shims.min.css create mode 100644 static/vendor/fontawesome-free/js/all.js create mode 100644 static/vendor/fontawesome-free/js/all.min.js create mode 100644 static/vendor/fontawesome-free/js/brands.js create mode 100644 static/vendor/fontawesome-free/js/brands.min.js create mode 100644 static/vendor/fontawesome-free/js/conflict-detection.js create mode 100644 static/vendor/fontawesome-free/js/conflict-detection.min.js create mode 100644 static/vendor/fontawesome-free/js/fontawesome.js create mode 100644 static/vendor/fontawesome-free/js/fontawesome.min.js create mode 100644 static/vendor/fontawesome-free/js/regular.js create mode 100644 static/vendor/fontawesome-free/js/regular.min.js create mode 100644 static/vendor/fontawesome-free/js/solid.js create mode 100644 static/vendor/fontawesome-free/js/solid.min.js create mode 100644 static/vendor/fontawesome-free/js/v4-shims.js create mode 100644 static/vendor/fontawesome-free/js/v4-shims.min.js create mode 100644 static/vendor/fontawesome-free/less/_animated.less create mode 100644 static/vendor/fontawesome-free/less/_bordered-pulled.less create mode 100644 static/vendor/fontawesome-free/less/_core.less create mode 100644 static/vendor/fontawesome-free/less/_fixed-width.less create mode 100644 static/vendor/fontawesome-free/less/_icons.less create mode 100644 static/vendor/fontawesome-free/less/_larger.less create mode 100644 static/vendor/fontawesome-free/less/_list.less create mode 100644 static/vendor/fontawesome-free/less/_mixins.less create mode 100644 static/vendor/fontawesome-free/less/_rotated-flipped.less create mode 100644 static/vendor/fontawesome-free/less/_screen-reader.less create mode 100644 static/vendor/fontawesome-free/less/_shims.less create mode 100644 static/vendor/fontawesome-free/less/_stacked.less create mode 100644 static/vendor/fontawesome-free/less/_variables.less create mode 100644 static/vendor/fontawesome-free/less/brands.less create mode 100644 static/vendor/fontawesome-free/less/fontawesome.less create mode 100644 static/vendor/fontawesome-free/less/regular.less create mode 100644 static/vendor/fontawesome-free/less/solid.less create mode 100644 static/vendor/fontawesome-free/less/v4-shims.less create mode 100644 static/vendor/fontawesome-free/metadata/categories.yml create mode 100644 static/vendor/fontawesome-free/metadata/icons.yml create mode 100644 static/vendor/fontawesome-free/metadata/shims.yml create mode 100644 static/vendor/fontawesome-free/metadata/sponsors.yml create mode 100644 static/vendor/fontawesome-free/package.json create mode 100644 static/vendor/fontawesome-free/scss/_animated.scss create mode 100644 static/vendor/fontawesome-free/scss/_bordered-pulled.scss create mode 100644 static/vendor/fontawesome-free/scss/_core.scss create mode 100644 static/vendor/fontawesome-free/scss/_fixed-width.scss create mode 100644 static/vendor/fontawesome-free/scss/_icons.scss create mode 100644 static/vendor/fontawesome-free/scss/_larger.scss create mode 100644 static/vendor/fontawesome-free/scss/_list.scss create mode 100644 static/vendor/fontawesome-free/scss/_mixins.scss create mode 100644 static/vendor/fontawesome-free/scss/_rotated-flipped.scss create mode 100644 static/vendor/fontawesome-free/scss/_screen-reader.scss create mode 100644 static/vendor/fontawesome-free/scss/_shims.scss create mode 100644 static/vendor/fontawesome-free/scss/_stacked.scss create mode 100644 static/vendor/fontawesome-free/scss/_variables.scss create mode 100644 static/vendor/fontawesome-free/scss/brands.scss create mode 100644 static/vendor/fontawesome-free/scss/fontawesome.scss create mode 100644 static/vendor/fontawesome-free/scss/regular.scss create mode 100644 static/vendor/fontawesome-free/scss/solid.scss create mode 100644 static/vendor/fontawesome-free/scss/v4-shims.scss create mode 100644 static/vendor/fontawesome-free/sprites/brands.svg create mode 100644 static/vendor/fontawesome-free/sprites/regular.svg create mode 100644 static/vendor/fontawesome-free/sprites/solid.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/500px.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/accessible-icon.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/accusoft.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/acquisitions-incorporated.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/adn.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/adversal.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/affiliatetheme.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/airbnb.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/algolia.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/alipay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/amazon-pay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/amazon.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/amilia.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/android.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/angellist.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/angrycreative.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/angular.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/app-store-ios.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/app-store.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/apper.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/apple-pay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/apple.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/artstation.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/asymmetrik.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/atlassian.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/audible.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/autoprefixer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/avianex.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/aviato.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/aws.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bandcamp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/battle-net.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/behance-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/behance.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bimobject.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bitbucket.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bitcoin.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bity.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/black-tie.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/blackberry.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/blogger-b.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/blogger.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bluetooth-b.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bluetooth.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/bootstrap.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/btc.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/buffer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/buromobelexperte.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/buy-n-large.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/buysellads.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/canadian-maple-leaf.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-amazon-pay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-amex.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-apple-pay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-diners-club.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-discover.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-jcb.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-mastercard.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-paypal.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-stripe.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cc-visa.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/centercode.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/centos.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/chrome.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/chromecast.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cloudflare.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cloudscale.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cloudsmith.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cloudversify.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/codepen.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/codiepie.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/confluence.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/connectdevelop.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/contao.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cotton-bureau.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cpanel.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-by.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-nc-eu.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-nc-jp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-nc.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-nd.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-pd-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-pd.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-remix.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-sa.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-sampling-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-sampling.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-share.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons-zero.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/creative-commons.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/critical-role.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/css3-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/css3.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/cuttlefish.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/d-and-d-beyond.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/d-and-d.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dailymotion.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dashcube.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/deezer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/delicious.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/deploydog.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/deskpro.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dev.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/deviantart.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dhl.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/diaspora.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/digg.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/digital-ocean.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/discord.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/discourse.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dochub.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/docker.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/draft2digital.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dribbble-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dribbble.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dropbox.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/drupal.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/dyalog.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/earlybirds.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ebay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/edge-legacy.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/edge.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/elementor.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ello.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ember.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/empire.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/envira.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/erlang.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ethereum.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/etsy.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/evernote.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/expeditedssl.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/facebook-f.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/facebook-messenger.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/facebook-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/facebook.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fantasy-flight-games.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fedex.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fedora.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/figma.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/firefox-browser.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/firefox.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/first-order-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/first-order.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/firstdraft.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/flickr.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/flipboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fly.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/font-awesome-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/font-awesome-flag.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/font-awesome-logo-full.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/font-awesome.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fonticons-fi.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fonticons.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fort-awesome-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fort-awesome.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/forumbee.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/foursquare.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/free-code-camp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/freebsd.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/fulcrum.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/galactic-republic.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/galactic-senate.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/get-pocket.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gg-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gg.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/git-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/git-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/git.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/github-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/github-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/github.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gitkraken.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gitlab.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gitter.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/glide-g.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/glide.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gofore.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/goodreads-g.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/goodreads.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-drive.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-pay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-play.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-plus-g.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-plus-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google-wallet.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/google.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gratipay.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/grav.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gripfire.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/grunt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/guilded.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/gulp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hacker-news-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hacker-news.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hackerrank.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hips.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hire-a-helper.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hive.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hooli.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hornbill.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hotjar.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/houzz.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/html5.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/hubspot.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ideal.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/imdb.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/innosoft.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/instagram-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/instagram.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/instalod.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/intercom.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/internet-explorer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/invision.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ioxhost.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/itch-io.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/itunes-note.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/itunes.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/java.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/jedi-order.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/jenkins.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/jira.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/joget.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/joomla.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/js-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/js.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/jsfiddle.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/kaggle.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/keybase.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/keycdn.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/kickstarter-k.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/kickstarter.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/korvue.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/laravel.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/lastfm-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/lastfm.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/leanpub.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/less.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/line.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/linkedin-in.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/linkedin.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/linode.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/linux.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/lyft.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/magento.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mailchimp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mandalorian.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/markdown.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mastodon.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/maxcdn.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mdb.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/medapps.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/medium-m.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/medium.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/medrt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/meetup.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/megaport.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mendeley.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/microblog.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/microsoft.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mix.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mixcloud.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mixer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/mizuni.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/modx.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/monero.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/napster.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/neos.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/nimblr.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/node-js.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/node.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/npm.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ns8.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/nutritionix.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/octopus-deploy.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/odnoklassniki-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/odnoklassniki.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/old-republic.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/opencart.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/openid.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/opera.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/optin-monster.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/orcid.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/osi.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/page4.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pagelines.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/palfed.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/patreon.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/paypal.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/penny-arcade.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/perbyte.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/periscope.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/phabricator.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/phoenix-framework.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/phoenix-squadron.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/php.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pied-piper-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pied-piper-hat.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pied-piper-pp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pied-piper-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pied-piper.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pinterest-p.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pinterest-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pinterest.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/playstation.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/product-hunt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/pushed.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/python.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/qq.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/quinscape.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/quora.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/r-project.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/raspberry-pi.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ravelry.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/react.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/reacteurope.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/readme.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/rebel.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/red-river.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/reddit-alien.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/reddit-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/reddit.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/redhat.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/renren.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/replyd.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/researchgate.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/resolving.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/rev.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/rocketchat.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/rockrms.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/rust.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/safari.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/salesforce.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sass.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/schlix.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/scribd.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/searchengin.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sellcast.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sellsy.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/servicestack.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/shirtsinbulk.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/shopify.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/shopware.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/simplybuilt.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sistrix.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sith.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sketch.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/skyatlas.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/skype.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/slack-hash.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/slack.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/slideshare.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/snapchat-ghost.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/snapchat-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/snapchat.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/soundcloud.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sourcetree.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/speakap.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/speaker-deck.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/spotify.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/squarespace.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stack-exchange.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stack-overflow.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stackpath.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/staylinked.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/steam-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/steam-symbol.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/steam.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/sticker-mule.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/strava.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stripe-s.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stripe.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/studiovinari.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stumbleupon-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/stumbleupon.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/superpowers.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/supple.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/suse.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/swift.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/symfony.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/teamspeak.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/telegram-plane.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/telegram.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/tencent-weibo.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/the-red-yeti.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/themeco.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/themeisle.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/think-peaks.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/tiktok.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/trade-federation.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/trello.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/tripadvisor.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/tumblr-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/tumblr.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/twitch.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/twitter-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/twitter.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/typo3.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/uber.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ubuntu.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/uikit.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/umbraco.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/uncharted.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/uniregistry.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/unity.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/unsplash.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/untappd.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ups.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/usb.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/usps.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/ussunnah.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vaadin.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/viacoin.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/viadeo-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/viadeo.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/viber.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vimeo-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vimeo-v.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vimeo.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vine.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vk.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vnv.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/vuejs.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/watchman-monitoring.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/waze.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/weebly.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/weibo.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/weixin.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/whatsapp-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/whatsapp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/whmcs.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wikipedia-w.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/windows.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wix.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wizards-of-the-coast.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wodu.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wolf-pack-battalion.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wordpress-simple.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wordpress.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wpbeginner.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wpexplorer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wpforms.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/wpressr.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/xbox.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/xing-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/xing.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/y-combinator.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yahoo.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yammer.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yandex-international.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yandex.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yarn.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yelp.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/yoast.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/youtube-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/youtube.svg create mode 100644 static/vendor/fontawesome-free/svgs/brands/zhihu.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/address-book.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/address-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/angry.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/arrow-alt-circle-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/bell-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/bell.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/bookmark.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/building.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/calendar-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/calendar-check.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/calendar-minus.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/calendar-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/calendar-times.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/calendar.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/caret-square-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/caret-square-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/caret-square-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/caret-square-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/chart-bar.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/check-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/check-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/clipboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/clock.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/clone.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/closed-captioning.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/comment-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/comment-dots.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/comment.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/comments.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/compass.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/copy.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/copyright.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/credit-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/dizzy.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/dot-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/edit.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/envelope-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/envelope.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/eye-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/eye.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-archive.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-audio.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-code.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-excel.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-image.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-pdf.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-powerpoint.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-video.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file-word.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/file.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/flag.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/flushed.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/folder-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/folder.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/font-awesome-logo-full.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/frown-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/frown.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/futbol.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/gem.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grimace.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-beam-sweat.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-hearts.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-squint-tears.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-squint.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-stars.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-tears.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-tongue-squint.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-tongue-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-tongue.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/grin.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-lizard.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-paper.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-peace.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-point-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-point-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-point-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-point-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-pointer.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-rock.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-scissors.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hand-spock.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/handshake.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hdd.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/heart.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hospital.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/hourglass.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/id-badge.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/id-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/image.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/images.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/keyboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/kiss-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/kiss-wink-heart.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/kiss.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/laugh-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/laugh-squint.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/laugh-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/laugh.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/lemon.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/life-ring.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/lightbulb.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/list-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/map.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/meh-blank.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/meh-rolling-eyes.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/meh.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/minus-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/money-bill-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/moon.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/newspaper.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/object-group.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/object-ungroup.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/paper-plane.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/pause-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/play-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/plus-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/question-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/registered.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/sad-cry.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/sad-tear.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/save.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/share-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/smile-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/smile-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/smile.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/snowflake.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/square.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/star-half.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/star.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/sticky-note.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/stop-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/sun.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/surprise.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/thumbs-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/thumbs-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/times-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/tired.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/trash-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/user-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/user.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/window-close.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/window-maximize.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/window-minimize.svg create mode 100644 static/vendor/fontawesome-free/svgs/regular/window-restore.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ad.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/address-book.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/address-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/adjust.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/air-freshener.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/align-center.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/align-justify.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/align-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/align-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/allergies.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ambulance.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/american-sign-language-interpreting.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/anchor.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-double-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-double-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-double-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-double-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angle-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/angry.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ankh.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/apple-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/archive.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/archway.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-circle-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-circle-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-circle-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-circle-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrow-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrows-alt-h.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrows-alt-v.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/arrows-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/assistive-listening-systems.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/asterisk.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/at.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/atlas.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/atom.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/audio-description.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/award.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/baby-carriage.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/baby.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/backspace.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/backward.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bacon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bacteria.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bacterium.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bahai.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/balance-scale-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/balance-scale-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/balance-scale.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ban.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/band-aid.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/barcode.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bars.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/baseball-ball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/basketball-ball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bath.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/battery-empty.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/battery-full.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/battery-half.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/battery-quarter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/battery-three-quarters.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bed.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/beer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bell-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bell.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bezier-curve.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bible.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bicycle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/biking.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/binoculars.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/biohazard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/birthday-cake.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/blender-phone.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/blender.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/blind.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/blog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bold.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bolt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bomb.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bone.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bong.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/book-dead.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/book-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/book-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/book-reader.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/book.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bookmark.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/border-all.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/border-none.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/border-style.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bowling-ball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/box-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/box-tissue.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/box.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/boxes.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/braille.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/brain.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bread-slice.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/briefcase-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/briefcase.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/broadcast-tower.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/broom.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/brush.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bug.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/building.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bullhorn.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bullseye.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/burn.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bus-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/bus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/business-time.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calculator.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-check.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-day.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-minus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-times.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar-week.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/calendar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/camera-retro.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/camera.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/campground.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/candy-cane.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cannabis.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/capsules.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/car-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/car-battery.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/car-crash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/car-side.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/car.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caravan.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-square-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-square-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-square-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-square-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/caret-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/carrot.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cart-arrow-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cart-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cash-register.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cat.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/certificate.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chair.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chalkboard-teacher.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chalkboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/charging-station.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chart-area.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chart-bar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chart-line.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chart-pie.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/check-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/check-double.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/check-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/check.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cheese.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-bishop.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-board.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-king.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-knight.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-pawn.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-queen.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess-rook.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chess.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-circle-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-circle-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-circle-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-circle-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/chevron-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/child.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/church.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/circle-notch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/city.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/clinic-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/clipboard-check.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/clipboard-list.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/clipboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/clock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/clone.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/closed-captioning.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-download-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-meatball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-moon-rain.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-moon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-rain.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-showers-heavy.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-sun-rain.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-sun.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud-upload-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cloud.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cocktail.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/code-branch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/code.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/coffee.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cogs.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/coins.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/columns.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comment-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comment-dollar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comment-dots.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comment-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comment-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comment.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comments-dollar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/comments.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/compact-disc.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/compass.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/compress-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/compress-arrows-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/compress.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/concierge-bell.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cookie-bite.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cookie.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/copy.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/copyright.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/couch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/credit-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/crop-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/crop.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cross.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/crosshairs.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/crow.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/crown.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/crutch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cube.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cubes.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/cut.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/database.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/deaf.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/democrat.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/desktop.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dharmachakra.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/diagnoses.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-d20.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-d6.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-five.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-four.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-one.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-six.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-three.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice-two.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dice.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/digital-tachograph.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/directions.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/disease.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/divide.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dizzy.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dna.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dollar-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dolly-flatbed.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dolly.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/donate.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/door-closed.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/door-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dot-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dove.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/download.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/drafting-compass.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dragon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/draw-polygon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/drum-steelpan.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/drum.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/drumstick-bite.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dumbbell.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dumpster-fire.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dumpster.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/dungeon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/edit.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/egg.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/eject.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ellipsis-h.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ellipsis-v.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/envelope-open-text.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/envelope-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/envelope-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/envelope.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/equals.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/eraser.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ethernet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/euro-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/exchange-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/exclamation-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/exclamation-triangle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/exclamation.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/expand-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/expand-arrows-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/expand.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/external-link-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/external-link-square-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/eye-dropper.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/eye-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/eye.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fan.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fast-backward.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fast-forward.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/faucet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fax.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/feather-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/feather.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/female.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fighter-jet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-archive.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-audio.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-code.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-contract.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-csv.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-download.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-excel.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-export.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-image.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-import.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-invoice-dollar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-invoice.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-medical-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-pdf.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-powerpoint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-prescription.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-signature.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-upload.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-video.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file-word.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/file.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fill-drip.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fill.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/film.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/filter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fingerprint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fire-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fire-extinguisher.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fire.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/first-aid.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fish.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/fist-raised.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/flag-checkered.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/flag-usa.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/flag.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/flask.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/flushed.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/folder-minus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/folder-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/folder-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/folder.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/font-awesome-logo-full.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/font.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/football-ball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/forward.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/frog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/frown-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/frown.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/funnel-dollar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/futbol.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gamepad.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gas-pump.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gavel.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gem.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/genderless.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ghost.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gift.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gifts.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/glass-cheers.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/glass-martini-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/glass-martini.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/glass-whiskey.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/glasses.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/globe-africa.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/globe-americas.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/globe-asia.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/globe-europe.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/globe.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/golf-ball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/gopuram.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/graduation-cap.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/greater-than-equal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/greater-than.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grimace.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-beam-sweat.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-hearts.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-squint-tears.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-squint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-stars.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-tears.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-tongue-squint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-tongue-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-tongue.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grin.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grip-horizontal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grip-lines-vertical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grip-lines.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/grip-vertical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/guitar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/h-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hamburger.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hammer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hamsa.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-holding-heart.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-holding-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-holding-usd.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-holding-water.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-holding.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-lizard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-middle-finger.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-paper.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-peace.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-point-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-point-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-point-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-point-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-pointer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-rock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-scissors.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-sparkles.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hand-spock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hands-helping.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hands-wash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hands.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/handshake-alt-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/handshake-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/handshake.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hanukiah.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hard-hat.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hashtag.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hat-cowboy-side.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hat-cowboy.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hat-wizard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hdd.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/head-side-cough-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/head-side-cough.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/head-side-mask.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/head-side-virus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/heading.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/headphones-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/headphones.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/headset.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/heart-broken.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/heart.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/heartbeat.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/helicopter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/highlighter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hiking.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hippo.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/history.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hockey-puck.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/holly-berry.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/home.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/horse-head.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/horse.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hospital-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hospital-symbol.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hospital-user.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hospital.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hot-tub.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hotdog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hotel.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hourglass-end.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hourglass-half.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hourglass-start.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hourglass.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/house-damage.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/house-user.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/hryvnia.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/i-cursor.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ice-cream.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/icicles.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/icons.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/id-badge.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/id-card-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/id-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/igloo.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/image.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/images.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/inbox.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/indent.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/industry.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/infinity.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/info-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/info.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/italic.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/jedi.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/joint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/journal-whills.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/kaaba.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/key.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/keyboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/khanda.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/kiss-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/kiss-wink-heart.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/kiss.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/kiwi-bird.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/landmark.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/language.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laptop-code.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laptop-house.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laptop-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laptop.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laugh-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laugh-squint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laugh-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/laugh.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/layer-group.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/leaf.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lemon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/less-than-equal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/less-than.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/level-down-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/level-up-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/life-ring.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lightbulb.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/link.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lira-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/list-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/list-ol.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/list-ul.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/list.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/location-arrow.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lock-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/low-vision.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/luggage-cart.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lungs-virus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/lungs.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/magic.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/magnet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mail-bulk.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/male.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map-marked-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map-marked.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map-marker-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map-marker.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map-pin.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map-signs.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/map.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/marker.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mars-double.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mars-stroke-h.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mars-stroke-v.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mars-stroke.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mars.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mask.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/medal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/medkit.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/meh-blank.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/meh-rolling-eyes.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/meh.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/memory.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/menorah.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mercury.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/meteor.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/microchip.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/microphone-alt-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/microphone-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/microphone-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/microphone.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/microscope.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/minus-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/minus-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/minus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mitten.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mobile-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mobile.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/money-bill-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/money-bill-wave-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/money-bill-wave.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/money-bill.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/money-check-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/money-check.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/monument.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/moon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mortar-pestle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mosque.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/motorcycle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mountain.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mouse-pointer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mouse.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/mug-hot.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/music.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/network-wired.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/neuter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/newspaper.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/not-equal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/notes-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/object-group.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/object-ungroup.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/oil-can.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/om.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/otter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/outdent.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pager.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paint-brush.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paint-roller.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/palette.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pallet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paper-plane.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paperclip.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/parachute-box.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paragraph.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/parking.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/passport.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pastafarianism.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paste.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pause-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pause.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/paw.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/peace.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pen-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pen-fancy.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pen-nib.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pen-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pen.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pencil-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pencil-ruler.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/people-arrows.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/people-carry.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pepper-hot.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/percent.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/percentage.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/person-booth.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/phone-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/phone-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/phone-square-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/phone-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/phone-volume.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/phone.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/photo-video.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/piggy-bank.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pills.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pizza-slice.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/place-of-worship.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plane-arrival.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plane-departure.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plane-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plane.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/play-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/play.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plug.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plus-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plus-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/podcast.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/poll-h.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/poll.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/poo-storm.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/poo.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/poop.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/portrait.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pound-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/power-off.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pray.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/praying-hands.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/prescription-bottle-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/prescription-bottle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/prescription.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/print.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/procedures.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/project-diagram.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pump-medical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/pump-soap.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/puzzle-piece.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/qrcode.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/question-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/question.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/quidditch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/quote-left.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/quote-right.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/quran.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/radiation-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/radiation.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/rainbow.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/random.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/receipt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/record-vinyl.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/recycle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/redo-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/redo.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/registered.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/remove-format.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/reply-all.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/reply.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/republican.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/restroom.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/retweet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ribbon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ring.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/road.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/robot.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/rocket.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/route.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/rss-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/rss.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ruble-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ruler-combined.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ruler-horizontal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ruler-vertical.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ruler.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/running.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/rupee-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sad-cry.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sad-tear.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/satellite-dish.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/satellite.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/save.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/school.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/screwdriver.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/scroll.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sd-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/search-dollar.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/search-location.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/search-minus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/search-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/search.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/seedling.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/server.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shapes.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/share-alt-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/share-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/share-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/share.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shekel-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shield-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shield-virus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ship.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shipping-fast.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shoe-prints.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shopping-bag.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shopping-basket.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shopping-cart.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shower.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/shuttle-van.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sign-in-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sign-language.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sign-out-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/signal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/signature.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sim-card.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sink.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sitemap.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/skating.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/skiing-nordic.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/skiing.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/skull-crossbones.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/skull.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sleigh.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sliders-h.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/smile-beam.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/smile-wink.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/smile.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/smog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/smoking-ban.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/smoking.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sms.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/snowboarding.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/snowflake.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/snowman.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/snowplow.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/soap.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/socks.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/solar-panel.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-alpha-down-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-alpha-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-alpha-up-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-alpha-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-amount-down-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-amount-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-amount-up-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-amount-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-numeric-down-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-numeric-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-numeric-up-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-numeric-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sort.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/spa.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/space-shuttle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/spell-check.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/spider.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/spinner.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/splotch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/spray-can.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/square-full.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/square-root-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stamp.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/star-and-crescent.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/star-half-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/star-half.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/star-of-david.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/star-of-life.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/star.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/step-backward.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/step-forward.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stethoscope.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sticky-note.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stop-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stop.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stopwatch-20.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stopwatch.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/store-alt-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/store-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/store-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/store.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stream.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/street-view.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/strikethrough.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/stroopwafel.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/subscript.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/subway.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/suitcase-rolling.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/suitcase.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sun.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/superscript.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/surprise.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/swatchbook.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/swimmer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/swimming-pool.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/synagogue.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sync-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/sync.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/syringe.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/table-tennis.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/table.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tablet-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tablet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tablets.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tachometer-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tag.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tags.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tape.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tasks.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/taxi.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/teeth-open.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/teeth.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/temperature-high.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/temperature-low.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tenge.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/terminal.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/text-height.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/text-width.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/th-large.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/th-list.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/th.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/theater-masks.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thermometer-empty.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thermometer-full.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thermometer-half.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thermometer-quarter.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thermometer-three-quarters.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thermometer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thumbs-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thumbs-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/thumbtack.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/ticket-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/times-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/times.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tint-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tint.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tired.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/toggle-off.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/toggle-on.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/toilet-paper-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/toilet-paper.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/toilet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/toolbox.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tools.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tooth.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/torah.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/torii-gate.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tractor.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trademark.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/traffic-light.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trailer.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/train.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tram.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/transgender-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/transgender.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trash-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trash-restore-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trash-restore.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tree.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/trophy.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/truck-loading.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/truck-monster.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/truck-moving.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/truck-pickup.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/truck.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tshirt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tty.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/tv.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/umbrella-beach.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/umbrella.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/underline.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/undo-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/undo.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/universal-access.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/university.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/unlink.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/unlock-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/unlock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/upload.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-alt-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-astronaut.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-check.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-circle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-clock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-cog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-edit.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-friends.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-graduate.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-injured.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-lock.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-md.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-minus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-ninja.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-nurse.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-plus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-secret.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-shield.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-tag.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-tie.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user-times.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/user.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/users-cog.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/users-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/users.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/utensil-spoon.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/utensils.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vector-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/venus-double.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/venus-mars.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/venus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vest-patches.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vest.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vial.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vials.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/video-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/video.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vihara.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/virus-slash.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/virus.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/viruses.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/voicemail.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/volleyball-ball.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/volume-down.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/volume-mute.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/volume-off.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/volume-up.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vote-yea.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/vr-cardboard.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/walking.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wallet.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/warehouse.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/water.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wave-square.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/weight-hanging.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/weight.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wheelchair.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wifi.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wind.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/window-close.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/window-maximize.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/window-minimize.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/window-restore.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wine-bottle.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wine-glass-alt.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wine-glass.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/won-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/wrench.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/x-ray.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/yen-sign.svg create mode 100644 static/vendor/fontawesome-free/svgs/solid/yin-yang.svg create mode 100644 static/vendor/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 static/vendor/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 static/vendor/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 static/vendor/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 static/vendor/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 static/vendor/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 static/vendor/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 static/vendor/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 static/vendor/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 static/vendor/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 static/vendor/jquery-easing/jquery.easing.compatibility.js create mode 100644 static/vendor/jquery-easing/jquery.easing.js create mode 100644 static/vendor/jquery-easing/jquery.easing.min.js create mode 100644 static/vendor/jquery/jquery.js create mode 100644 static/vendor/jquery/jquery.min.js create mode 100644 static/vendor/jquery/jquery.min.map create mode 100644 static/vendor/jquery/jquery.slim.js create mode 100644 static/vendor/jquery/jquery.slim.min.js create mode 100644 static/vendor/jquery/jquery.slim.min.map create mode 100644 templates/footer.html create mode 100644 templates/header.html create mode 100644 templates/index.html create mode 100644 templates/klasifikasisvm.html create mode 100644 templates/normalisasi.html create mode 100644 templates/preprocessing.html create mode 100644 templates/tesmodel.html create mode 100644 templates/tfidf copy.html create mode 100644 templates/tfidf.html create mode 100644 templates/uploaddata.html create mode 100644 uploads/dataset.csv create mode 100644 uploads/dataset_clear.csv create mode 100644 uploads/dataset_stemmed.csv create mode 100644 uploads/rbf.model create mode 100644 uploads/stem.csv create mode 100644 uploads/vectorizer.model diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/Website.iml b/.idea/Website.iml new file mode 100644 index 0000000..3841641 --- /dev/null +++ b/.idea/Website.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d9dc1d4 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..092dd28 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f31a102 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Fadhilah Dwi Ananda + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..c2782ed --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +untuk membuka website dengan flask dari cmd anaconda
+a. set FLASK_APP=app.py
+b. set FLASK_DEBUG=1
+c. flask run
+d. pyton app.py
diff --git a/__pycache__/app.cpython-310.pyc b/__pycache__/app.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0985867db6a0454e242316cc5e8349cf23759178 GIT binary patch literal 9542 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 XE+c)+I$la6eF9Gk&vSTk1@(UcG*a^1 literal 0 HcmV?d00001 diff --git a/__pycache__/app.cpython-311.pyc b/__pycache__/app.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bce84af4d8df548272e73574254a555d21f3dec1 GIT binary patch literal 22506 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 literal 0 HcmV?d00001 diff --git a/__pycache__/app.cpython-38.pyc b/__pycache__/app.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4fb6ece799779d9f010248b3b7c9c2da45081095 GIT binary patch literal 6233 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 PvZe_*gQBCnk$(RJ1t`~2 literal 0 HcmV?d00001 diff --git a/__pycache__/pipeline.cpython-38.pyc b/__pycache__/pipeline.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..387c22ac7029582213c9e748e4b41fc679d181b4 GIT binary patch literal 2244 zcmcH)O;g)e@VzI=mJK$LGzlSmwM_yJ#n6(p#2A+rH)&Hsnek-82osO-3aUo7)F(NB zYfdoJ_Sk=5_s|*slCC}V)LRefbf&v95Fl{qq0;PoyZiP_tKEIi5{Wp&M;rdL^lOB% z--$T=C`c?Ic&~5)2Ha*wXXge-TG*nh7z!tzVyjin&_Z0bBh{!8<;+xCI%sWf#7u3U z8F4e->S{Bi+l(TWfCxknn2`h>Vz~D}9J+Atg>FdT-UqzEQprEiH(O5eAm;gwyX{Eu zkVqDMvsyLfqjJS}{|^}8gZ)zPR;bJa;?J2%+W)*Kv+cZbX=OO z#o7$LadM>D&bBEJd7%2{j(^A`iM)Qim?=KQ%Gmd&P3C zY+Ih?l{_RZectAK%vW0)JcTDs)>e+F z#R-$xNmiB7-oOLc$?p9bpEE3K6-6m`BDe;`2oB;lT?Moy;Re01ah! zGH;04d_&nGWCxK|LRJx(C%O3$nL%Wxp`ynWu4Cv}$&8WBdt?)rTxNv~uOJJNRYcIB z8;Bi*)$qv0BZPUEHy_%T`ZlUX8xDLR}&szAsZA`8SGM`VrSXg1N* z5>i=WuhEi4P7xtgCBbo2O=rV+5zUMduSk*=Lv}^K&#hKEl|I6tXiOXu5I~&kR~41H&Tj>qBo=GB(Bo8W!K#`5^oq@ z89KrCqGTuHD{qI@N0I-A3loA1jQ)c6zws}Y=Hl;2>=F-`X>?-wClZZ|L6M}F%bOVK znV(A|js{IQ;sy}`-ok+m$^i{K{-!6xPE(g<_jwD)CHt>Qx z(z}0bFHFM-QmHHQ25yF0v;CJw7p>`vBi*_u=|>wQg|g?%^0t*ObRs_9k1kkAmyr<* z^}cUzLe~qNTPW{r8iV5^= e)q%Qg=BSLr;?ud#yXh5i9^tx(D7vB#>)OArSLFNv literal 0 HcmV?d00001 diff --git a/__pycache__/preprocessing.cpython-38.pyc b/__pycache__/preprocessing.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0017d2c3211cbb74f04cfac537cb5d26d0636566 GIT binary patch literal 2318 zcmcIl-ESL35Wn3!pU+P1eD#Zd1}IJ35+@KSsq2_RO`#=CD_K>ei&N`za}B2FyJPoE zQsX?e5+84ff53i0%D;54JRu?R#zPSjGwUQx+Vp`3e45?)&Cbk@XLn}r=W4`v`018qTZ&Kl znO4@$GR-r3LtyrqeZ(`LYIe@c_40kq9`-CmBajB`nP!hd2C_Jh!4Mq5c^q<($N4C* znpPP89pllK3M|RUIE*$z0TMyJ7JIFhCvG}!9Ev9>8GV3DOJ2N)awl$fJb}U-={Mr= zu@|7k&Nc%G15Y-cz-8oj=SMt8x`8Au9J*Rh>ub0@qn%TJxZ#OymKd?O8Ei7?US2yIVsXiVV)G139eBGD}W!Xd^(0uDMDkOGsENr|K+QUYNZMqm`iU>uIZ zF*pt<;3T{Or{FZ4fwOQ9&cg(}32(vMZ~@+di!cdOP=HHt8Qz6yD8kJ8%u}|-aF@cPRqZM3vn?$)dMUUAx4T+j-$6?U(A{0sr4zZg)X_`Rg$^$v zT`M3639KT`A#e#)I(z{I^T;m{-ok~4q&i(iL2$zr+BGOw!utrws zsDj}e74>JzxKC-36lQ2~22qWe6=bfHcnX;nilf^_SBr?sBwnGRjFLK%G9|?+G%c1@ zyvUX&NmeIK7a5}O$Tyl?n|jVB4qP+3eg@JwU9*!otYa~(j%=|m`$2o07Dku-%)c>e zgCbCsu+0-*oJ|a>wQXi+yjB=D-7t`9RZ!navSloU*bQ4zWs*G8bvLo*EUj}s7K2#+G1FOohUe*H;uJ=D;BcwWrI1vgJA(|c9=3GQpHatS zFKSX%nz1BuFMHU%9yMHe>3YPkUJvY@x{M={N9{p=sdK9QiZSGFlb3y0;lfVN_d5My z7h#)=>40$je@C(Kd9cHFlDTvpD|`S)shDtWa>OX!6uOu>)e4+gCCL zo}}gA@k$J0UYnh}=tzZ4h0-}ox(#}O4oixl(>ydA_-yXjE$#YKX_!D%I3}pXZ6omG z$B7v^0XWhgB2;uk5w)eD1GmrD92pB|qgkvCBHx{No?k(alATd@>Mv2U?VQ59kFTHv zB`NiQi_^rX9}OOFJMRk5iMY7 zWcrXfIhm0b`Z<}EIrMosC-dkFvLNTt&r4oo_QJo|i9ND;oYkQp41FavnE6`h^?IIq z&}xUidgpwjWHiw>H^b#;xWWlHf}8C5NA_xDlvnIXl+o_mV0>a4XzO6w#8e}( zfq^@~8^rHpVuwUmw!l%7k#T2b%Mo|BB4dxh9>6w%ZGa7u+epAVzg_oN%3P00c-<6VGxTwwC!Xnz!cg>Kytfac4-w9RdIZ?nix}Ax36L5A&J1i zYIzl0jX)h>lZKZ7>U5IP2+AIUtI%+rNChJZ>pJ>#lT%D~;tPw{!yS;?lh`{_bjh$JMKiqHPzWk9MAg zVW4T$T`d*su5$ZOWbJ(aL*3Pl<;a5YFhS}1+R9gr<(N04lzYn^7VS)IXfKRYgFX%x zo6r4DKTheO+X-W#JWLLDlM81X3I&Qe3#XlB$nU4y_()Tpx1C8x^rnwCp`ghD8dL#i?S?e$Hrk@-mFAv2@l zB^ll0O^TURI3uJ)CWL!iMtFE-J05XS}!k(@3BxlrGGD1|6@XENOuaYj$d zd~6bUukD*qlvLv@ELtSVCYAGx%vOsKz0h7fFVl7RNaO~Q&p_TWlEOwoPjV(iuu;`n z$fv!S^b~YO&O)A2>LmV3^j*05LZG}r`E5_@rfh|+`=p;@VR8Dw-*koT1x4k-nd^7M zpGs|C1p}?m^n<-YM=gUFYt5OPR3aZ8OJkN6?O{X`kl(lT7^6CEpoB7yB literal 0 HcmV?d00001 diff --git a/__pycache__/sentimen.cpython-311.pyc b/__pycache__/sentimen.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5961222278d212853b0d91dc3c305e2d20ed4298 GIT binary patch literal 4739 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 A@Bjb+ literal 0 HcmV?d00001 diff --git a/__pycache__/sentimen.cpython-38.pyc b/__pycache__/sentimen.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8f00ef2558bd1eec49e96e4beffdfde9e285fe92 GIT binary patch literal 2512 zcmcImOLH4V5T2P`No&Wiyx+u-5L+^mOw7ZPWyKIBkYG%RlESrG*{s!@L|D=;GwaA! z*y;-{sRACublV`p{SyJB{`Af95^7Ud%9YO=ZHv)Q_n^8yKVP?#U?HX-n z4nPE=&zU(0F)(mE0s}CJ;}9HyAsmNc7)Ed$0bXG7(ZBE{wiM^Vfbw0h;Yv`bj1+vQ zR&(TSyX?Di%N(rK!L2*0V%N)@c62`^3#6M!%0Sj)yR6L$Y>$)ANY!mPa*qeP?`-;e zOp?jVJ2x}dL*+U{wcqSHt;syv44BdQ=k1D$Xpj0hjXhH!yV7=xp5435JI zI0>iVG@OC6a1PGH1-JdWUawJY^a_ zgljMZAHm1)3498(a2+x*2U(bh9Nd5f_zXUWn~;ZFa2vjWFX7JPbGTQu_%3gWHvgHy z-Cgk$d&J=@SbT0Ev|5|x*$!{>ZRYFv?|%(U?Hc?n6VHt&avYQWu85CxkI-VFuK7j{onF;clAfL!`nS12;9!{aK zi~>6J0jdgf#Dw-5M%uv$R$t;pVnikWj6-X$eut3w3C=@A< zRtsG%qL!uUBC#yaSV-YkGMvP%scaZ8ikS(Tv&gcH0?{+_ja%j>U-I$3q@`rmk&aW+ zo#8)i&0G8hTaQV-#eWe$>V-}{g+;X|0+E^ybSmIIZVos#*RPb_x(Zk206GZ< zv(<|7%WlofT_(>_WKk?%gEg;8-0;*{^)~8df5Y}GZatN)x@Ehn@FDiMHKPkft5Hfc zr>(|R#!5fCwq3NqY9vcjlUAxH#uJk_GWfI7#T84XONn?q(LA~G#P>Z#vsOBlC|c60 zqa$PG{)3{WN>fb(jT@m9Elww|m!<-~+KgCNtVSXp3pC~UL1d$jfd%>xZlxYXlvl0z zfshU^Zmfl+AJ-(dRc4OvKmO_y+w-=};a3yNh7KlUXxRbg*qcv3N&x+aj0wR7f^^9D zzs(Xc!ZzJLPoUA$C4drtkD zziKLBaqCNR=%9yQMiy}4Kt}p+W+ZlgP5GW2M(YmN)b~TI67g)m$~?F|_AuW$m%$E3h} zi21xbiq1&MAqh^bGD@)!QAz#|4Pexhjwju+qtq(czI_V~!&d~xjqoeSaV9=0Pvc-7 zsaO5=RN0l@hLRMHd8uG4U)qgIs?dS0H+J7iBwgu2Bz$9$=SYq{>b|Xvl%-?)&MHBG yFER2Wu7>^LVBF)h5a#A97Pd+wTXSKf>g1?&)Cpt;AL2t|kVm', methods=['GET']) +def delete_data(index): + if os.path.exists('uploads/dataset.csv'): + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1') + text.drop(index=index-1, inplace=True) # Hapus baris sesuai dengan indeks yang dipilih + text.to_csv('uploads/dataset.csv', index=False) # Simpan kembali file CSV tanpa baris yang dihapus + return redirect('/uploaddata') + + +@app.route('/preprocess', methods=['GET', 'POST']) +def preprocess(): + if os.path.exists('uploads/dataset_stemmed.csv'): + # Baca data CSV dan ambil 100 baris pertama + text = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1').head(100) + # Inisialisasi list untuk menyimpan baris tabel HTML + table_rows = [] + # Konversi setiap baris DataFrame menjadi baris HTML dan tambahkan ke list table_rows + for index, row in text.iterrows(): + table_row = "" + for value in row: + table_row += "{}".format(value) + table_row += "" + table_rows.append(table_row) + # Render template dengan data yang disiapkan + return render_template('preprocessing.html', table_rows=table_rows) + else: + return render_template('preprocessing.html') + + +@app.route('/preprocessing', methods=['GET', 'POST']) +def preprocessing(): + # Membaca data dari file CSV + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1') + + # Lakukan preprocessing pada teks + text['Text'] = text['Text'].apply(lambda x: preprocess_data(x)) + + # Menyimpan hasil preprocessing ke dalam file CSV + text.to_csv('uploads/dataset_clear.csv', index=False) + + # Membaca data yang sudah di-preprocessing dari file CSV + text = pandas.read_csv('uploads/dataset_clear.csv', encoding='latin-1') + + # Normalisasi teks + text['Normalisasi'] = text['Text'].apply(lambda x: normalize_text(x)) + + # Membaca data yang sudah di-normalisasi dari file CSV + text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1') + + # Tokenisasi teks dan tambahkan hasilnya ke dalam kolom baru 'Tokenized_Text' + text['Tokenized_Text'] = text['Normalisasi'].apply(lambda x: word_tokenize(str(x))) + + # Stemming teks menggunakan PorterStemmer + stemmer = PorterStemmer() + text['Stemmed_Text'] = text['Tokenized_Text'].apply(lambda tokens: [stemmer.stem(token) for token in tokens]) + + # Menyimpan hasil stemming ke dalam file Excel + text.to_csv('uploads/dataset_stemmed.csv', index=False) + text = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1').head(100) + # Inisialisasi list untuk menyimpan baris tabel HTML + table_rows = [] + # Konversi setiap baris DataFrame menjadi baris HTML dan tambahkan ke list table_rows + for index, row in text.iterrows(): + table_row = "" + for value in row: + table_row += "{}".format(value) + table_row += "" + table_rows.append(table_row) + # Render template dengan data yang disiapkan + return render_template('preprocessing.html', table_rows=table_rows) + + +# Fungsi untuk normalisasi teks +def normalize_text(text): + import pandas + + # Membaca data CSV yang berisi pasangan kata slang dan formal + slang_formal_data = pandas.read_csv('slang_formal_mapping.csv') + + # Mengonversi data CSV menjadi kamus Python + slang_formal_dict = dict(zip(slang_formal_data['slang'], slang_formal_data['formal'])) + + # Convert to string if text is not already a string + if not isinstance(text, str): + text = str(text) + + # Memisahkan teks menjadi kata-kata + words = text.split() + + # Normalisasi setiap kata menggunakan kamus + normalized_words = [slang_formal_dict.get(word, word) for word in words] + + # Menggabungkan kata-kata yang telah dinormalisasi menjadi teks kembali + return ' '.join(normalized_words) + +# @app.route('/normalisasi', methods=['GET', 'POST']) +# def normalisasi(): +# if os.path.exists('uploads/normalisasi.csv'): +# text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1').head(10) +# return render_template('normalisasi.html', tables=[text.to_html()]) +# else: +# return render_template('normalisasi.html') + +# @app.route('/normalisasing', methods=['GET', 'POST']) +# def normalisasing(): +# text = pandas.read_csv('uploads/dataset_clear.csv', encoding='latin-1') +# text['Text'] = text['Text'].apply(lambda x: normalize_text(x)) +# text.to_csv('uploads/normalisasi.csv', index=False, header=True) +# return render_template('normalisasi.html', tables=[text.to_html(classes='table table-bordered', table_id='dataTable')]) + + +@app.route('/tfidfpage', methods=['GET', 'POST']) +def tfidfpage(): + text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1') + text.dropna(axis=0) + positif, negatif= text['Labels'].value_counts() + total = positif + negatif + + return render_template ('tfidf.html', total=total, positif=positif, negatif=negatif) + + +def data(text): + text['Labels'] = text['Labels'].map({'positif': 1, 'negatif': 0}) + X = text['Normalisasi'] + y = text['Labels'] + + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=13) + return X_train, X_test, y_train, y_test + +@app.route('/tfidf', methods=['GET', 'POST']) +def tfidf(): + text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1') + text.dropna(axis=0, inplace=True) # Membersihkan nilai np.nan + + positif, negatif= text['Labels'].value_counts() + total = positif + negatif + + X_train, X_test, y_train, y_test = data(text) + + # Inisialisasi vektorisator TF-IDF + vectorizer = TfidfVectorizer() + + # Lakukan vektorisasi TF-IDF pada data teks yang telah dibersihkan + X_train = vectorizer.fit_transform(X_train) + X_test = vectorizer.transform(X_test) + + # Menyimpan vektorisator ke disk + pickle.dump(vectorizer, open('uploads/vectorizer.model','wb')) + + return render_template ('tfidf.html', X_train=X_train, X_test=X_test, total=total, positif=positif, negatif=negatif) + +@app.route('/klasifikasisvm1', methods=['GET', 'POST']) +def klasifikasisvm1(): + + return render_template ('klasifikasisvm.html') + + +@app.route('/klasifikasisvm', methods=['GET', 'POST']) +def klasifikasisvm(): + import pickle + from sklearn.feature_extraction.text import TfidfVectorizer + from sklearn.svm import SVC + from sklearn.metrics import f1_score, recall_score, precision_score, confusion_matrix, accuracy_score + + # Loading model to compare the results + vectorizer = pickle.load(open('uploads/vectorizer.model','rb')) + + text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1') + text.dropna(axis=0, inplace=True) # Membersihkan nilai np.nan + + X_train, X_test, y_train, y_test = data(text) + + # Lakukan vektorisasi TF-IDF pada data teks yang telah dibersihkan + X_train = vectorizer.transform(X_train) + X_test = vectorizer.transform(X_test) + + # Process of making models Klasifikasi SVM LINEAR + linear = SVC(kernel="linear") + linear.fit(X_train, y_train) + linear_pred = linear.predict(X_test) + + # Process of making models Klasifikasi SVM RBF + rbf = SVC(kernel="rbf") + rbf.fit(X_train, y_train) + rbf_pred = rbf.predict(X_test) + + # Saving models to disk + pickle.dump(linear, open('uploads/linear.model','wb')) + pickle.dump(rbf, open('uploads/rbf.model','wb')) + + # Calculating evaluation metrics for linear kernel + f1_score_linear = f1_score(y_test, linear_pred) + accuracy_score_linear = accuracy_score(y_test, linear_pred) * 100 # Convert to percentage + precision_score_linear = precision_score(y_test, linear_pred) * 100 # Convert to percentage + recall_score_linear = recall_score(y_test, linear_pred) * 100 # Convert to percentage + tn_linear, fp_linear, fn_linear, tp_linear = confusion_matrix(y_test, linear_pred).ravel() + + # Calculating evaluation metrics for rbf kernel + f1_score_rbf = f1_score(y_test, rbf_pred) + accuracy_score_rbf = accuracy_score(y_test, rbf_pred) * 100 # Convert to percentage + precision_score_rbf = precision_score(y_test, rbf_pred) * 100 # Convert to percentage + recall_score_rbf = recall_score(y_test, rbf_pred) * 100 # Convert to percentage + tn_rbf, fp_rbf, fn_rbf, tp_rbf = confusion_matrix(y_test, rbf_pred).ravel() + + return render_template ('klasifikasisvm.html', f1_score_linear=f1_score_linear, accuracy_score_linear=accuracy_score_linear, precision_score_linear=precision_score_linear, recall_score_linear=recall_score_linear, + tn_linear=tn_linear, fp_linear=fp_linear, fn_linear=fn_linear, tp_linear=tp_linear, f1_score_rbf=f1_score_rbf, accuracy_score_rbf=accuracy_score_rbf, precision_score_rbf=precision_score_rbf, + recall_score_rbf=recall_score_rbf, tn_rbf=tn_rbf, fp_rbf=fp_rbf, fn_rbf=fn_rbf, tp_rbf=tp_rbf) + + + + +@app.route('/tesmodel1', methods=['GET', 'POST']) +def tesmodel1(): + results = [] + with open('results.txt', 'r') as file: + for line in file: + original_text, preprocessed_text, sentiment = line.strip().split('\t') + results.append({'original_text': original_text, 'preprocessed_text': preprocessed_text, 'sentiment': sentiment}) + + # Reverse the results list + results.reverse() + return render_template ('tesmodel.html', results=results) + + +@app.route('/tesmodel', methods=['GET', 'POST']) +def tesmodel(): + # Loading model to compare the results + model = pickle.load(open('uploads/rbf.model','rb')) + vectorizer = pickle.load(open('uploads/vectorizer.model','rb')) + + text = request.form['text'] + original_text = text + + hasilprepro = preprocess_data(text) + hasiltfidf = vectorizer.transform([hasilprepro]) + + # cek prediksi dari kalimat + hasilsvm = model.predict(hasiltfidf) + if hasilsvm == 0: + hasilsvm = 'NEGATIF' + else: + hasilsvm = 'POSITIF' + + # Save results to a text file in tabular format + with open('results.txt', 'a') as file: + file.write(f"{original_text}\t{hasilprepro}\t{hasilsvm}\n") + + # Read the contents of the results.txt file and pass them to the template + results = [] + with open('results.txt', 'r') as file: + for line in file: + original_text, preprocessed_text, sentiment = line.strip().split('\t') + results.append({'original_text': original_text, 'preprocessed_text': preprocessed_text, 'sentiment': sentiment}) + + # Reverse the results list + results.reverse() + + return render_template('tesmodel.html', results=results) + + diff --git a/app.py b/app.py new file mode 100644 index 0000000..53a0047 --- /dev/null +++ b/app.py @@ -0,0 +1,464 @@ +import os +from flask import Flask, render_template, request, redirect +import csv +import nltk +import pandas +from werkzeug.utils import secure_filename +from sentimen import lower, remove_punctuation, remove_stopwords, stem_text, preprocess_data +from sklearn.model_selection import train_test_split +from sklearn.feature_extraction.text import TfidfVectorizer +import pickle +from sklearn.svm import SVC +from sklearn.model_selection import cross_val_score +from yellowbrick.text import TSNEVisualizer +from sklearn.preprocessing import MinMaxScaler +from sklearn.model_selection import validation_curve +from sklearn.model_selection import learning_curve +from nltk.tokenize import word_tokenize +import numpy as np +from nltk.stem import PorterStemmer +import pickle +import math +import pandas as pd +import re +from nltk.corpus import stopwords +from Sastrawi.Stemmer.StemmerFactory import StemmerFactory + +stp = stopwords.words('indonesian') +factory = StemmerFactory() +stemmer = factory.create_stemmer() + +app = Flask(__name__) +app.config["TEMPLATES_AUTO_RELOAD"] = True +if __name__ == "__main__": + app.run(debug=True) + + +# dashboard get data +@app.route('/', methods=['GET', 'POST']) +def index(): + if os.path.exists('uploads/dataset.csv'): + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1') + text.dropna(axis=0) + positif, negatif= text['Labels'].value_counts() + total = positif + negatif + return render_template('index.html',total=total, positif=positif, negatif=negatif) + else: + return render_template('index.html') + + +#upload data +ALLOWED_EXTENSION = set(['csv']) +app.config['UPLOAD_FOLDER']='uploads' + +def allowed_file(filename): + return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSION + +@app.route('/uploaddata', methods=['GET', 'POST']) +def uploaddata(): + if request.method == 'GET': + if os.path.exists('uploads/dataset.csv'): + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1').head(100) + # Inisialisasi list untuk menyimpan baris tabel HTML + table_rows = [] + # Konversi setiap baris DataFrame menjadi baris HTML dan tambahkan ke list table_rows + for index, row in text.iterrows(): + table_row = "" + for value in row: + table_row += "{}".format(value) + table_row += "" + table_rows.append(table_row) + # Render template dengan data yang disiapkan + return render_template('uploaddata.html', table_rows=table_rows) + else: + return render_template('uploaddata.html') + + elif request.method == 'POST': + if 'file' not in request.files: + return redirect(request.url) + + file = request.files['file'] + + if file.filename == '': + return redirect(request.url) + + if file and allowed_file(file.filename): + file.filename = "dataset.csv" + file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename)) + + # Reload the data after saving the file + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1') + + return render_template('uploaddata.html', tables=[text.to_html()]) + +@app.route('/delete/', methods=['GET']) +def delete_data(index): + if os.path.exists('uploads/dataset.csv'): + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1') + text.drop(index=index-1, inplace=True) # Hapus baris sesuai dengan indeks yang dipilih + text.to_csv('uploads/dataset.csv', index=False) # Simpan kembali file CSV tanpa baris yang dihapus + return redirect('/uploaddata') + + +@app.route('/preprocess', methods=['GET', 'POST']) +def preprocess(): + if os.path.exists('uploads/dataset_stemmed.csv'): + # Baca data CSV dan ambil 100 baris pertama + text = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1').head(100) + # Inisialisasi list untuk menyimpan baris tabel HTML + table_rows = [] + # Konversi setiap baris DataFrame menjadi baris HTML dan tambahkan ke list table_rows + for index, row in text.iterrows(): + table_row = "" + for value in row: + table_row += "{}".format(value) + table_row += "" + table_rows.append(table_row) + # Render template dengan data yang disiapkan + return render_template('preprocessing.html', table_rows=table_rows) + else: + return render_template('preprocessing.html') + +# preprocess data yg baru +def remove_punctuation(text): + # Happy Emoticons + emoticons_happy = set([ + ':-)', ':)', ';)', ':o)', ':]', ':3', ':c)', ':>', '=]', '8)', '=)', ':}', + ':^)', ':-D', ':D', ':d', '8-D', '8D', 'x-D', 'xD', 'X-D', 'XD', '=-D', '=D', + '=-3', '=3', ':-))', ":'-)", ":')", ':*', ':^*', '>:P', ':-P', ':P', 'X-P', + 'x-p', 'xp', 'XP', ':-p', ':p', '=p', ':-b', ':b', '>:)', '>;)', '>:-)', + '<3' + ]) + + # Sad Emoticons + emoticons_sad = set([ + ':L', ':-/', '>:/', ':S', '>:[', ':@', ':-(', ':[', ':-||', '=L', ':<', + ':-[', ':-<', '=\\', '=/', '>:(', ':(', '>.<', ":'-(", ":'(", ':\\', ':-c', + ':c', ':{', '>:\\', ';(' + ]) + + # All emoticons (happy + sad) + emoticons = emoticons_happy.union(emoticons_sad) + + text = ' '.join([word for word in text.split() if word not in emoticons]) + + text = re.sub(r'@[\w]*', ' ', text) + + text = re.sub(r'\w+:\/{2}[\d\w-]+(\.[\d\w-]+)*(?:(?:\/[^\s/]*))*', ' ', text) + + text = re.sub(r'^https?:\/\/.*[\r\n]*', ' ', text) + + text = re.sub(r'^RT[\s]+', ' ', text) + + text = text.lower() + + text = re.sub(r'[^\w\s]+', ' ', text) + + text = re.sub(r'[0-9]+', ' ', text) + + text = re.sub(r'_', ' ', text) + + text = re.sub(r'\$\w*', ' ', text) + + return text + +# def tokenize(text): +# # text = str(text) +# tokens = text.split() +# return tokens + +def normalize_text(text): + # Load slang-formal mapping data + slang_formal_data = pd.read_csv('slang_formal_mapping.csv') + + # Create a dictionary from slang to formal words + slang_formal_dict = dict(zip(slang_formal_data['slang'], slang_formal_data['formal'])) + + # Convert text to string if it's not already a string + text = str(text) + + # Split text into words + words = text.split() + + # Normalize each word using the slang-formal dictionary + normalized_words = [slang_formal_dict.get(word, word) for word in words] + + # Join normalized words back into text + normalized_text = ' '.join(normalized_words) + + return normalized_text + + +def remove_stopwords(text): + return ([word for word in text if word not in stp]) + # return text + +def stem_text(text): + text = ' '.join([stemmer.stem(word) for word in text]) + return text + + +@app.route('/preprocessing', methods=['GET', 'POST']) +def preprocessing(): + # Membaca data dari file CSV + text = pandas.read_csv('uploads/dataset.csv', encoding='latin-1') + + # Lakukan preprocessing pada teks + text['Text'] = text['Text'].apply(lambda x: remove_punctuation(x)) + + # Menyimpan hasil preprocessing ke dalam file CSV + text.to_csv('uploads/dataset_clear.csv', index=False) + + # Membaca data yang sudah di-preprocessing dari file CSV + text = pandas.read_csv('uploads/dataset_clear.csv', encoding='latin-1') + + # Normalisasi teks + text['Normalisasi'] = text['Text'].apply(normalize_text) + + # # Menyimpan hasil preprocessing ke dalam file CSV + # text.to_csv('uploads/normalisasi.csv', index=False) + + # Membaca data yang sudah di-normalisasi dari file CSV + # text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1') + + # Tokenisasi teks dan tambahkan hasilnya ke dalam kolom baru 'Tokenized_Text' + text['Tokenized_Text'] = text['Normalisasi'].apply(lambda x: word_tokenize(str(x))) + # Stopwords + text['remove_stopwords'] = text['Tokenized_Text'].apply(lambda x: remove_stopwords((x))) + # Stemming teks menggunakan PorterStemmer + # stemmer = PorterStemmer() + text['Stemmed_Text'] = text['remove_stopwords'].apply(lambda x: stem_text((x))) + + text.drop(['remove_stopwords'], axis=1, inplace=True) + # Menyimpan hasil stemming ke dalam file Excel + text.to_csv('uploads/dataset_stemmed.csv', index=False) + text = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1').head(100) + # Inisialisasi list untuk menyimpan baris tabel HTML + table_rows = [] + # Konversi setiap baris DataFrame menjadi baris HTML dan tambahkan ke list table_rows + for index, row in text.iterrows(): + table_row = "" + for value in row: + table_row += "{}".format(value) + table_row += "" + table_rows.append(table_row) + # Render template dengan data yang disiapkan + text.drop(['Normalisasi','Tokenized_Text'], axis=1, inplace=True) + # Menyimpan hasil preprocessing ke dalam file CSV + text.to_csv('uploads/stem.csv', index=False) + return render_template('preprocessing.html', table_rows=table_rows) + +@app.route('/tfidfpage', methods=['GET', 'POST']) +def tfidfpage(): + text_df = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1') + + # Menghapus baris dengan nilai NaN + text_df.dropna(axis=0, inplace=True) + + # Mengambil kolom 'Stemmed_Text' sebagai list teks + texts = text_df['Stemmed_Text'].tolist() + + # Menghitung TF-IDF untuk dokumen yang tersedia + tfidf_dict = calculate_tfidf(texts) + + # Kirim hasil TF-IDF ke template HTML + return render_template('tfidf.html', tfidf_dict=tfidf_dict, total=len(texts)) + +# @app.route('/normalisasi', methods=['GET', 'POST']) +# def normalisasi(): +# if os.path.exists('uploads/normalisasi.csv'): +# text = pandas.read_csv('uploads/normalisasi.csv', encoding='latin-1').head(10) +# return render_template('normalisasi.html', tables=[text.to_html()]) +# else: +# return render_template('normalisasi.html') + +# @app.route('/normalisasing', methods=['GET', 'POST']) +# def normalisasing(): +# text = pandas.read_csv('uploads/dataset_clear.csv', encoding='latin-1') +# text['Text'] = text['Text'].apply(lambda x: normalize_text(x)) +# text.to_csv('uploads/normalisasi.csv', index=False, header=True) +# return render_template('normalisasi.html', tables=[text.to_html(classes='table table-bordered', table_id='dataTable')]) + + +def calculate_tfidf(texts): + # Menghitung Term Frequency (TF) untuk setiap term dalam setiap dokumen + tf_dict = {} + doc_terms = {} # Mengumpulkan semua term untuk setiap dokumen + for idx, text in enumerate(texts): + terms = text.split() #memisahkan kalimat menjadi kata + term_count = len(terms) #menghitung banyak kata + doc_terms[idx] = terms # Simpan terms untuk dokumen ini + for term in terms: + if term not in tf_dict: #menyimpan data jika jika di tf dict gaada + tf_dict[term] = {} + if idx not in tf_dict[term]: + tf_dict[term][idx] = 0 #idx = index + tf_dict[term][idx] += 1 / term_count # Menghitung TF + + # Menghitung Inverse Document Frequency (IDF) untuk setiap term + doc_count = len(texts) #menghitung documen + idf_dict = {} + for term in tf_dict: + doc_freq = len(tf_dict[term]) + idf_dict[term] = math.log(doc_count / (doc_freq + 1)) # Menghitung IDF + + # Menghitung TF-IDF untuk setiap term dalam setiap dokumen + tfidf_dict = {} + for term in tf_dict: + tfidf_dict[term] = {} + for doc_idx in tf_dict[term]: + doc_terms_str = ', '.join(doc_terms[doc_idx]) # Gabungkan terms ke dalam satu string + if doc_terms_str not in tfidf_dict[term]: + tfidf_dict[term][doc_terms_str] = 0 + tfidf_dict[term][doc_terms_str] += tf_dict[term][doc_idx] * idf_dict[term] + + return tfidf_dict + +# TF_IDF BAWAAN +def data(text): + text['Labels'] = text['Labels'].map({'positif': 1, 'negatif': 0}) + X = text['Stemmed_Text'] + y = text['Labels'] + + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) + return X_train, X_test, y_train, y_test + + +@app.route('/tfidf', methods=['GET', 'POST']) +def tfidf(): + model_path = 'uploads/vectorizer.model' + if os.path.exists(model_path): + os.remove(model_path) + text = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1') + text.dropna(axis=0, inplace=True) # Membersihkan nilai np.nan + + positif, negatif= text['Labels'].value_counts() + total = positif + negatif + + X_train, X_test, y_train, y_test = data(text) + + # Inisialisasi vektorisator TF-IDF + vectorizer = TfidfVectorizer() + + # Lakukan vektorisasi TF-IDF pada data teks yang telah dibersihkan + X_train = vectorizer.fit_transform(X_train) + X_test = vectorizer.transform(X_test) + + # Menyimpan vektorisator ke disk + pickle.dump(vectorizer, open('uploads/vectorizer.model','wb')) + + text_df = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1') + + # Menghapus baris dengan nilai NaN + text_df.dropna(axis=0, inplace=True) + + # Mengambil kolom 'Normalisasi' sebagai list teks + texts = text_df['Stemmed_Text'].tolist() + + # Menghitung TF-IDF untuk dokumen yang tersedia + tfidf_dict = calculate_tfidf(texts) + # Kirim hasil TF-IDF ke template HTML + return render_template('tfidf.html', tfidf_dict=tfidf_dict, total=len(texts)) + + + +@app.route('/klasifikasisvm1', methods=['GET', 'POST']) +def klasifikasisvm1(): + + return render_template ('klasifikasisvm.html') + + +@app.route('/klasifikasisvm', methods=['GET', 'POST']) +def klasifikasisvm(): + import pickle + from sklearn.feature_extraction.text import TfidfVectorizer + from sklearn.svm import SVC + from sklearn.metrics import f1_score, recall_score, precision_score, confusion_matrix, accuracy_score + linear_path = 'uploads/linear.model' + if os.path.exists(linear_path): + os.remove(linear_path) + rbf_path = 'uploads/rbf.model' + if os.path.exists(rbf_path): + os.remove(rbf_path) + # Loading model to compare the results + vectorizer = pickle.load(open('uploads/vectorizer.model','rb')) + + text = pandas.read_csv('uploads/dataset_stemmed.csv', encoding='latin-1') + text.dropna(axis=0, inplace=True) # Membersihkan nilai np.nan + + X_train, X_test, y_train, y_test = data(text) + + # Lakukan vektorisasi TF-IDF pada data teks yang telah dibersihkan + X_train = vectorizer.transform(X_train) + X_test = vectorizer.transform(X_test) + + # Process of making models Klasifikasi SVM RBF + rbf = SVC(kernel="rbf") + rbf.fit(X_train, y_train) + rbf_pred = rbf.predict(X_test) + + # Saving models to disk + # pickle.dump(linear, open('uploads/linear.model','wb')) + pickle.dump(rbf, open('uploads/rbf.model','wb')) + + + # Calculating evaluation metrics for rbf kernel + f1_score_rbf = round(f1_score(y_test, rbf_pred)*100) + accuracy_score_rbf = round(accuracy_score(y_test, rbf_pred) * 100) # Convert to percentage + precision_score_rbf = round(precision_score(y_test, rbf_pred) *100) # Convert to percentage + recall_score_rbf = round(recall_score(y_test, rbf_pred)* 100) # Convert to percentage + tn_rbf, fp_rbf, fn_rbf, tp_rbf = confusion_matrix(y_test, rbf_pred).ravel() + + return render_template ('klasifikasisvm.html',f1_score_rbf=f1_score_rbf, accuracy_score_rbf=accuracy_score_rbf, precision_score_rbf=precision_score_rbf, + recall_score_rbf=recall_score_rbf, tn_rbf=tn_rbf, fp_rbf=fp_rbf, fn_rbf=fn_rbf, tp_rbf=tp_rbf) + + +@app.route('/tesmodel1', methods=['GET', 'POST']) +def tesmodel1(): + results = [] + with open('results.txt', 'r') as file: + for line in file: + original_text, preprocessed_text, sentiment = line.strip().split('\t') + results.append({'original_text': original_text, 'preprocessed_text': preprocessed_text, 'sentiment': sentiment}) + + # Reverse the results list + results.reverse() + return render_template ('tesmodel.html', results=results) + + +@app.route('/tesmodel', methods=['GET', 'POST']) +def tesmodel(): + # Loading model to compare the results + model = pickle.load(open('uploads/rbf.model','rb')) + vectorizer = pickle.load(open('uploads/vectorizer.model','rb')) + + text = request.form['text'] + original_text = text + + hasilprepro = preprocess_data(text) + hasiltfidf = vectorizer.transform([hasilprepro]) + + # cek prediksi dari kalimat + hasilsvm = model.predict(hasiltfidf) + if hasilsvm == 0: + hasilsvm = 'NEGATIF' + else: + hasilsvm = 'POSITIF' + + # Save results to a text file in tabular format + with open('results.txt', 'a') as file: + file.write(f"{original_text}\t{hasilprepro}\t{hasilsvm}\n") + + # Read the contents of the results.txt file and pass them to the template + results = [] + with open('results.txt', 'r') as file: + for line in file: + original_text, preprocessed_text, sentiment = line.strip().split('\t') + results.append({'original_text': original_text, 'preprocessed_text': preprocessed_text, 'sentiment': sentiment}) + + # Reverse the results list + results.reverse() + + return render_template('tesmodel.html', results=results) + + diff --git a/results.txt b/results.txt new file mode 100644 index 0000000..2d767d1 --- /dev/null +++ b/results.txt @@ -0,0 +1,14 @@ +anis tolol anis tolol NEGATIF +anis cerdas anis cerdas POSITIF +anis jelek anis jelek NEGATIF +anis jelek anis jelek NEGATIF +dukung pemilu dukung milu POSITIF +pemilu jelek milu jelek NEGATIF +politik dinasti jelek dan buruk politik dinasti jelek buruk NEGATIF +dukung selalu penundaan pemilu masa jokowi dukung tunda milu jokowi POSITIF +gk sudi ikut pemilu sudi milu POSITIF +dukung pemilu jokowi dukung milu jokowi POSITIF +dukung pemilu 2024 dukung milu POSITIF +pemilu buruk milu buruk NEGATIF +bowo jelek bowo jelek NEGATIF +anis bijak anis bijak NEGATIF diff --git a/sentimen.py b/sentimen.py new file mode 100644 index 0000000..88cac47 --- /dev/null +++ b/sentimen.py @@ -0,0 +1,101 @@ +import re +import pandas as pd +from nltk.corpus import stopwords +from Sastrawi.Stemmer.StemmerFactory import StemmerFactory + +stp = stopwords.words('indonesian') +factory = StemmerFactory() +stemmer = factory.create_stemmer() + +# Preprocessing +def lower(text): + # Case Folding + return text.lower() + + +def remove_punctuation(text): + # Happy Emoticons + emoticons_happy = set([ + ':-)', ':)', ';)', ':o)', ':]', ':3', ':c)', ':>', '=]', '8)', '=)', ':}', + ':^)', ':-D', ':D', ':d', '8-D', '8D', 'x-D', 'xD', 'X-D', 'XD', '=-D', '=D', + '=-3', '=3', ':-))', ":'-)", ":')", ':*', ':^*', '>:P', ':-P', ':P', 'X-P', + 'x-p', 'xp', 'XP', ':-p', ':p', '=p', ':-b', ':b', '>:)', '>;)', '>:-)', + '<3' + ]) + + # Sad Emoticons + emoticons_sad = set([ + ':L', ':-/', '>:/', ':S', '>:[', ':@', ':-(', ':[', ':-||', '=L', ':<', + ':-[', ':-<', '=\\', '=/', '>:(', ':(', '>.<', ":'-(", ":'(", ':\\', ':-c', + ':c', ':{', '>:\\', ';(' + ]) + + # All emoticons (happy + sad) + emoticons = emoticons_happy.union(emoticons_sad) + + text = ' '.join([word for word in text.split() if word not in emoticons]) + + text = re.sub(r'@[\w]*', ' ', text) + + text = re.sub(r'\w+:\/{2}[\d\w-]+(\.[\d\w-]+)*(?:(?:\/[^\s/]*))*', ' ', text) + + text = re.sub(r'^https?:\/\/.*[\r\n]*', ' ', text) + + text = re.sub(r'^RT[\s]+', ' ', text) + + text = text.lower() + + text = re.sub(r'[^\w\s]+', ' ', text) + + text = re.sub(r'[0-9]+', ' ', text) + + text = re.sub(r'_', ' ', text) + + text = re.sub(r'\$\w*', ' ', text) + + return text +# tambahan +def normalize_text(text): + # Load slang-formal mapping data + slang_formal_data = pd.read_csv('slang_formal_mapping.csv') + + # Create a dictionary from slang to formal words + slang_formal_dict = dict(zip(slang_formal_data['slang'], slang_formal_data['formal'])) + + # Convert text to string if it's not already a string + text = str(text) + + # Split text into words + words = text.split() + + # Normalize each word using the slang-formal dictionary + normalized_words = [slang_formal_dict.get(word, word) for word in words] + + # Join normalized words back into text + normalized_text = ' '.join(normalized_words) + + return normalized_text + +def tokenize(text): + tokens = text.split() + return tokens + +def remove_stopwords(text): + return ([word for word in text.split() if word not in stp]) + # return text + + +def stem_text(text): + text = ' '.join([stemmer.stem(word) for word in text]) + return text + + +# Kalimat Testing +def preprocess_data(text): + text = remove_punctuation(text) + # text = tokenize(text) + text = normalize_text(text) + text = remove_stopwords(text) + text = stem_text(text) + return text + diff --git a/slang_formal_mapping.csv b/slang_formal_mapping.csv new file mode 100644 index 0000000..2d26b42 --- /dev/null +++ b/slang_formal_mapping.csv @@ -0,0 +1,15011 @@ +slang,formal +woww,wow +aminn,amin +met,selamat +netaas,menetas +keberpa,keberapa +eeeehhhh,eh +kata2nyaaa,kata-katanya +hallo,halo +kaka,kakak +ka,kak +daah,dah +aaaaahhhh,ah +yaa,ya +smga,semoga +slalu,selalu +amiin,amin +kk,kakak +trus,terus +kk,kakak +sii,sih +nyenengin,menyenangkan +bgt,banget +gemess,gemas +akuuu,aku +jgn,jangan +yaa,ya +udah,sudah +gitu,begitu +aja,saja +gemesiin,menggemaskan +menyenangkn,menyenangkan +rb,ribu +akau,aku +saranin,menyarankan +nemuin,menemukan +yah,ya +met,selamat +mnis2nya,manis-manisnya +gtu,begitu +tu,itu +idolaa,idola +bangett,banget +kaakk,kak +baaiikkk,baik +telaatt,telat +kaak,kak +yg,yang +lg,lagi +skarang,sekarang +yg,yang +sempet,sempat +karna,karena +ngga,tidak +karna,karena +mantep,mantap +loohhh,loh +yeee,ya +baguuuuus,bagus +sampe,sampai +ngikutin,mengikuti +gayany,gayanya +ngikutin,mengikuti +lg,lagi +bnk,bang +awaas,awas +siip,sip +abizzzz,habis +kerrrrennnn,keren +sayaa,saya +pengen,pengin +kpan,kapan +bgt,banget +sma,sama +sdkit,sedikit +bngt,banget +lgu,lagu +bener2,benar-benar +kharismanya,karismanya +aq,aku +yg,yang +jdi,jadi +lgi,lagi +gk,tidak +kek,kayak +lgunya,lagunya +kpan,kapan +kereeeeennnn,keren +nyamain,menyamakan +slalu,selalu +lakik,laki +siippp,sip +bkn,bukan +nyangka,menyangka +bangettt,banget +kereeen,keren +wihhhhhh,wih +tp,tapi +inget,ingat +bingitsss,banget +dmn,dimana +bird,biru +kaloo,kalo +gimna,bagaimana +tuuh,tuh +nyebur,mencebur +yng,yang +dbuat,dibuat +kn,kan +org,orang +pingin,pengin +bgt,banget +tu,itu +bangcat,bangsat +yha,ya +waoohhh,wah +pngn,pengin +tmpt,tempat +dhe,deh +indahhh,indah +bgttt,banget +tuhh,tuh +berarto,berarti +ga,tidak +aminn,amin +aamiin,amin +amiiinn,amin +dgn,dengan +aminnnn2,amin-amin +amiin,amin +aamiin,amin +amiiiin,amin +amiin,amin +aminnn,amin +amiend,amien +yaaa,ya +ameen,amin +aminnnn,amin +amiiinnn,amin +kek,kayak +ngomong,mengomong +inget,ingat +mamer,memamerkan +keles,kali +jelase,jelas +liat,lihat +uwakk,uwak +ntar,entar +bs,bisa +gini,begini +jgn,jangan +sampe,sampai +aq,aku +salfok,salah fokus +njir,anjir +piiink,pink +astgfrullah,astagfirullah +ko,kok +cd,celana dalam +gbs,tidak bisa +bhs,bahasa +yaaaaaa,ya +gak,tidak +bangshad,bangsat +yaa,ya +stagahhhh,astaga +kpn,kapan +iooo,lo +dy,dia +d,ada +mslh,masalah +qt,kita +jdi,jadi +plampiasannn,pelampiasan +masalahh,masalah +tohh,toh +inghinn,ingin +dhi,di +mengherthii,mengerti +yanckh,yang +chelalyyu,selalu +therchakitty,tersakiti +mauuuuu,mau +kaliii,kali +bangat,banget +bkin,bikin +dongg,dong +yokkk,yuk +gini,begini +yu,yuk +sweger,segar +kereeen,keren +gantengg,ganteng +bingiit,banget +gak,tidak +kebukaaa,terbuka +tpi,tapi +keliatan,kelihatan +yakk,ya +kayakk,kayak +asliii,asli +kyk,kayak +cntiknya,cantiknya +bat,banget +ga,tidak +ngeliatnya,melihatnya +sll,selalu +bet,banget +njerr,anjir +bingiiittttzzzz,banget +bgt,banget +k,kak +klo,kalo +lg,lagi +dooong,dong +masi,masih +gni,begini +kek,kayak +gini,begini +aja,saja +udah,sudah +hdk,hendak +yg,yang +jugaa,juga +mksud,maksud +aj,saja +tetep,tetap +tp,tapi +mbakx,mbaknya +syantik,cantik +syantik,cantik +kite,kita +pa,apa +mksd,maksud +bejilbbnya,berjilbabnya +masio,masih +yahhh,ya +makasih,terima kasih +leh,boleh +ugaaa,juga +yah,ya +jerewi,jerawat +ilang,hilang +jilbabnyaah,jilbabnya +kek,kayak +yuuuk,yuk +warnaaa,warna +punyaaa,punya +cantiik,cantik +sukaaak,suka +kebayanyaa,kebayanya +mantes,memantas +merekaaaa,mereka +jugaaa,juga +gilaaaa,gila +tiga2nya,tiga-tiganya +lucuu,lucu +emessss,gemas +ucullllll,lucu +jdi,jadi +males,malas +bangeettt,banget +gemesshh,gemas +ngomong,mengomong +apaaa,apa +ampuunn,ampun +pengen,pengin +ciuuuummmm,cium +mbil,sambil +ngmng,mengomong +ngemeng,mengomong +epe,apa +seehh,sih +yank,sayang +ucul,lucu +yahh,ya +kek,kayak +gw,gue +lucuu,lucu +ngakak,mengakak +astagfirrullah,astagfirullah +bkn,bukan +tpi,tapi +suerrr,suer +gk,tidak +mnta,minta +lg,lagi +syg,sayang +ntik,cantik +pny,punya +dapet,dapat +kek,kayak +gini,begini +suru,suruh +lucuuuu,lucu +ketawakkkk,ketawa +kyanya,kayanya +bnget,banget +nakutin,menakutkan +malingg,maling +cocokk,cocok +niihh,nih +imutttttt,imut +satuuuuu,satu +sesekk,sesak +nafass,nafas +bgtt,banget +cintaaaaaaa,cinta +lucuk,lucu +lucuk,lucu +ma,sama +duluu,dulu +megang,memegang +ngakak,mengakak +kawinin,mengawini +liatin,memperlihatkan +ny,nya +d,di +bdan,badan +nyaaa,nya +gemesin,menggemaskan +daah,dah +fotoin,memfoto +ngaku,mengaku +kaaa,kak +ganteng2,ganteng-ganteng +pcarny,pacarnya +kri,kiri +knpa,kenapa +pda,pada +cmn,cuman +gara2,gara-gara +garuk2,garuk-garuk +tembokk,tembok +namax,namanya +kiriii,kiri +kyk,kayak +bungkusin,bungkuskan +atu,satu +dehhhh,deh +dongg,dong +kakk,kak +ngegantiin,menggantikan +alloh,allah +smpe,sampai +msh,masih +trsa,terasa +khadirannya,kehadirannya +fikiran,pikiran +hayalanku,khayalanku +bru,baru +nton,menonton +jdi,jadi +ngapain,mengapai +yaa,ya +surgaa,surga +kangenn,kangen +kgn,kangen +kakkkkk,kak +rinduuuuuuuuu,rindu +ninggalin,meninggalkan +smg,semoga +terangkhn,terangkan +bgtttt,banget +knp,kenapa +tuk,untuk +slama,selama +orng,orang +bngunlah,bangunlah +k,kak +bngun,bangun +ea,ya +qu,ku +hiri,hari +klo,kalo +"teman""ny",teman-temannya +gtu,begitu +aza,saja +dr,dari +"teman""ny",teman-temannya +ny,nya +alm,almarhum +skrg,sekarang +knpa,kenapa +sie,sih +benet,benar +bangetttt,banget +tuu,tuh +skrang,sekarang +gda,tidak ada +trus,terus +gantiin,menggantikan +sma,sama +jdi,jadi +gak,tidak +kta,kata +kklau,kalau +d,di +acra,acara +gk,tidak +sma,sama +kasian,kasihan +bangett,banget +yaaa ,ya +bnerr,benar +emk,emak +temenn,teman +pngenn,pengin +terkenall,terkenal +ajhh,saja +gk,tidak +sungguh2,sungguh-sungguh +mnjadi,menjadi +shbt,sahabat +k,kak +bner,benar +bgt,banget +ktny,katanya +shbt,sahabat +skrg,sekarang +pda,pada +dimusiumin,dimuseumkan +ga,tidak +bntu,bantu +pda,pada +dlu,dulu +klo,kalo +gda,tidak ada +pda,pada +udh,sudah +pda,pada +kangem,kangen +amiiin,amin +smua,semua +slmt,selamat +jln,jalan +"mudh""an",mudah-mudahan +tenny,tenang +d,di +sdh,sudah +yg,yang +tnya,tanya +blm,belum +td,tadi +sblm,sebelum +yah,ya +bole,boleh +lahhh,lah +tp,tapi +blm,belum +dapet,dapat +maap,maaf +gk,tidak +cm,cuma +syg,sayang +kmrn,kemarin +wkt,waktu +d,di +ama,sama +ak,aku +lht,lihat +biasa2,biasa-biasa +mnrtkuu,menurutku +trs,terus +ikutin,mengikuti +jdwl,jadwal +yaaa,ya +jgn,jangan +wajiiib,wajib +aaaammmiiiinnnn,amin +dtnggu,ditunggu +yah,ya +jan,jangan +kunjungin,kunjungi +lagiiii,lagi +waktunyaaa,waktunya +diluangin,diluangkan +yaa,ya +makasih,terima kasih +jga,juga +mimin,admin +istimewaaa,istimewa +blom,belum +sempet,sempat +nangis,menangis +karna,karena +"ngaku""",mengaku-ngaku +diaa,dia +donkk,dong +gak,tidak +kejawab,terjawab +yaaaa,ya +seru2an,seru-seruan +mohom,mohon +kebalas,terbalas +yaaa,ya +ikutin,ikuti +nyempetin,menyempatkan +wktunya,waktunya +kaaaa,kak +nyempetin,menyempatkan +ngobrol,mengobrol +bangett,banget +namain,menamai +bls,balas +ijap,ijab +kobul,kabul +dgn,dengan +co,cowok +pst,pasti +inggat,ingat +brdua,berdua +masing2,masih +sdh,sudah +pny,punya +brdua,berdua +sanggat,sangat +siipp,sip +laa,lah +dlm,dalam +hdup,hidup +hdp,hidup +trus,terus +kedpan,kedepan +smoga,semoga +mndaptkan,mendapatkan +yng,yang +"nutup""in",menutup-nutupi +liatin,perlihatkan +iyah,iya +sja,saja +kakkk,kak +za,saja +mulut2,mulut-mulut +peengn,pengin +tuch,tuh +muantteepp,mantap +cpt,cepat +mrit,merit +y,ya +ngapasih,mengapa sih +ni,ini +segitunya,sebegitunya +fto,foto +pke,pakai +males,malas +sisain,menyisakan +slamt,selamat +nantiii,nanti +edaaan,edan +emg,memang +bener2,benar-benar +tunggu2,tunggu-tunggu +sehat2,sehat-sehat +ciyeeeeeee,cie +pantes,pantas +lairannya,kelahirannya +jmnya,jamnya +ajha,saja +ama,sama +nyaaaa,nya +nyari,mencari +amiien,amien +smoga,semoga +terbaikkk,terbaik +ayahh,ayah +ntar,entar +ae,saja +ndak,indak +ngerti,mengerti +mrekaaaa,mereka +yaampuuuunnnn,ya ampun +yha,ya +nyanyiin,menyanyikan +ahhh,ah +bnget,banget +pgen,pengin +hdk,hendak +tempt,tempat +ny,nya +kh,kah +hdk,hendak +bgini,begini +aq,aku +brani,berani +gak,tidak +km,kamu +aq,aku +jalan2,jalan-jalan +yaaa,ya +asyikkkkk,asyik +iriiiii,iri +ngajak,mengajak +yakk,ya +naaaaahh,nah +kka,kakak +jgn,jangan +yak,ya +ttep,tetap +sperti,seperti +jrang,jarang +msuk,masuk +gossip2.an,gosip-gosipan +makkk,mak +ngapain,mengapai +guee,gue +pengennn,pengin +ntar,entar +yeee,ya +klo,kalo +udh,sudah +gilzz,gila +nyaru,menyaru +aja,saja +kk,kakak +gilaaa,gila +jd,jadi +kebarat2an,kebarat-baratan +ohh,oh +mantabs,mantab +jgan,jangan +mlu,malu +payahh,payah +ntaf,mantap +beneran,benaran +"mudah""n",mudah-mudahan +trus,terus +gada,tidak ada +yg,yang +gada,tidak ada +yg,yang +milikin,memiliki +kamo,kamu +inih,ini +tuhh,tuh +suru,suruh +syantik,cantik +sukaaaa,suka +sukaaaaaa,suka +kirain,mengira +mehoonggggg,mahal +apikkkk,apik +yach,ya +kereenn,keren +ginii,begini +ayoook,ayo +yoiii,yoi +gituuu,begitu +iyaaa,iya +pgn,pengin +liptsk,lipstik +dr,dari +nyeplak,menjiplak +bgt,banget +kyk,kayak +cw,cewek +cw,cewek +kmarin,kemarin +mengncang,mengencang +tauu,tau +ksh,kasih +skrng,sekarang +mksh,terima kasih +gara2,gara-gara +ank,anak +skitar,sekitar +ktmu,ketemu +sma,sama +tmen,teman +skrg,sekarang +dlu,dulu +skrg,sekarang +ats,atas +donk,dong +heii,hai +yg,yang +diputusin,diputuskan +pcrnya,pacarnya +gara2,gara-gara +mnjual,menjual +ngadain,mengadakan +ga,tidak +nyangka,menyangka +kkak,kakak +rekomendasiin,merekomendasikan +sihhh,sih +cooocok,cocok +mrip,mirip +bgt,banget +sma,sama +mama.nyy,mamanya +wkt,waktu +lht,lihat +gak,tidak +bosenin,membosankan +kmu,kamu +bukn,bukan +sey,sih +yng,yang +cantikkk,cantik +banger,banget +kaa,kak +bngt,banget +eakyu,waktu +cntik,cantik +ama,sama +amiiin,amin +kakanya,kakaknya +doeloe,dulu +kk,kakak +cantikkkk,cantik +bngtt,banget +udh,sudah +iyak,iya +malh,malah +mlah,malah +kk,kakak +ngak,tidak +laki2,laki-laki +gag,tidak +fhotonya,fotonya +bleh,boleh +km,kamu +brp,berapa +tnggl,tanggal +brp,berapa +tanteny,tantenya +ky,kaya +qt,kita +dlu,dulu +sklinyaa,sekalinya +ayoo,ayo +km,kamu +bs,bisa +jd,jadi +kk,kakak +yah,ya +w,gue +dramaa,drama +niiih,nih +bisaa,bisa +lha,lah +dunk,dong +lihaat,lihat +yuwkkk,yuk +nnti,nanti +editannn,editan +mw,mau +thu,tuh +mai,mau +kamuu,kamu +pastii,pasti +bisaaa,bisa +kejuu,keju +kereen,keren +nama.a,namanya +kmauan,kemauan +ayoo,ayo +ahhhh,ah +yuuuuk,yuk +dmana,dimana +disiniii,disini +cobaa,coba +bayangin,bayangkan +yaudh,ya sudah +bayangin,bayangkan +dl,dulu +ajaaa,saja +tuhhh,tuh +amploppp,amplop +mo,mau +kek,kayak +gini,begini +yaaa,ya +sayangg'',sayang-sayang +nantii,nanti +aminnnn,amin +aminnnnn,amin +gakuat,tidak kuat +yukkkk,yuk +nged,banget +nantik,nanti +ksitu,kesitu +yng,yang +bangeett,banget +slalu,selalu +liad,lihat +kluarga,keluarga +biasahhh,biasa +bgt,banget +sma,sama +kluarga,keluarga +ama,sama +tutorialx,tutorialnya +pke,pakai +yg,yang +dpke,dipakai +kk,kakak +dpke,dipakai +donk,dong +yank,sayang +liat,lihat +fhoto,foto +kerenn,keren +binggo,banget +rekomndd,rekomendasi +donk,dong +dmn,dimana +pngn,pengin +bli2n,beli-belikan +bwt,buat +wado,waduh +guaa,gua +yaakkk,ya +bangetttttyt,banget +bangettttt,banget +bangg,bang +kangeeeeeeeeennnnnnnn,kangen +kaliannnnnn,kalian +rinduuuuuuuuuu,rindu +kangennnnnmnnnnnnnnnnnnnnnnn,kangen +kaliannnnnm,kalian +kangeeeeeeeeeeennnnn,kangen +kangennnnnnnnnnnnnnnn,kangen +kangennn,kangen +kaliannnnnnn,kalian +th2,tahun-tahun +smoga,semoga +dl,dulu +smpt,sempat +blg,bilang +trserah,terserah +ad,ada +yg,yang +d,di +cwo,cowok +trus,terus +prnah,pernah +blg,bilang +lg,lagi +wlwpun,walaupun +trpsah,terpisah +klw,kalau +mmg,memang +alloh,allah +prsatukn,persatukan +mmg,memang +sdh,sudah +klw,kalau +g,tidak +slh,salah +ngomng,mengomong +mdh2an,mudah-mudahan +sm,sama +skedar,sekadar +sperti,seperti +kangennn,kangen +kangeeerrn,kangen +pulak,pula +tpi,tapi +terrrrbaik,terbaik +jorookknya,joroknya +ihhhhh,ih +cobaa,coba +padahall,padahal +jorokkkk,jorok +mualll,mual +klow,kalau +muke,muka +yg,yang +bner,benar +ajh,saja +taiiii,tahi +seneeeeeng,senang +yaa,ya +ga,tidak +nyesel,menyesal +besarin,membesarkan +mksh,terima kasih +tanyang,tayang +ber2,berdua +jngan,jangan +trus,terus +ngelarang,melarang +kerreeen,keren +udh,sudah +pantess,pantas +bngettt,banget +sampe,sampai +baperr,bawa perasaan +sudh,sudah +ga,tidak +sbr,sabar +pngen,pengin +nntn,menonton +ht,hati +pemainy,pemainnya +aq,aku +jga,juga +bnget,banget +ama,sama +aq,aku +jg,juga +aqu,aku +ngeliat,melihat +sampe,sampai +baper,bawa perasaan +smoga,semoga +gk,tidak +akn,akan +bnget,banget +nyampe,sampai +kbawa,terbawa +bradegan,beradegan +sm,sama +baper,bawa perasaan +bnget,banget +smga,semoga +amiiinnnn,amin +mlm,malam +nikahin,menikahi +hadeuh,aduh +bener2,benar-benar +nyambung,menyambung +aq,aku +liyat,lihat +krn,karena +sk,suka +bgt,banget +sm,sama +kluarga,keluarga +adengan,adegan +yaaa,ya +adengan,adegan +engga,tidak +bngtt,banget +bingit,banget +dapetin,mendapati +krn,karena +model2,model-model +sitayngin,ditayangkan +cocokkk,cocok +bgt,banget +mahhhh,mah +bangett,banget +cocokny,cocoknya +smoga,semoga +kaka,kakak +iniw,ini +sma,sama +jga,juga +q,ku +setju,setuju +bngt,banget +sma,sama +bnern,benaran +pcrn,pacaran +klian,kalian +cocokkkk,cocok +bngett,banget +abes,habis +pngen,pengin +kyk,kayak +gtu,begitu +ntar,entar +kek,kayak +gini,begini +br,baru +mksdny,maksudnya +tu,itu +knp,kenapa +kmu,kamu +brpa,berapa +tu,itu +ihh,ih +bgt,banget +sma,sama +aamiin,amin +dlu,dulu +kesampean,kesampaian +beginiiii,begini +ntr,entar +ak,aku +beliin,membelikan +kya,kaya +gini,begini +keq,kek +ngeliat,melihat +ngerasa,merasa +km,kamu +sygkuu,sayangku +lucuuuu,lucu +ngeselin,mengesalkan +bkin,bikin +masi,masih +baju'a,bajunya +fto,foto +gtu,begitu +jg,juga +bgt,banget +gara'',gara-gara +teruss,terus +pokok'a,pokoknya +bg,bang +ubur2,ubur-ubur +kuyy,yuk +bentarr,bentar +kuyy,yuk +klw,kalau +dureen,duren +ajibb,ajib +mahall,mahal +yukk,yuk +niiihh,nih +ubur2,ubur-ubur +donk,dong +imuuttt,imut +imuttzz,imut +nha,nya +asliii,asli +konten2,konten-konten +rasain,rasai +daaaah,deh +asliiii,asli +cantiknnnnyaaaaaaa,cantiknya +yuuk,yuk +ngelihatnya,melihatnya +aqu,aku +bdn,badan +na,nya +ibu2,ibu-ibu +bgt,banget +lau,kau +yaaa,ya +cantikkk,cantik +kakkk,kak +cantikk,cantik +sexxi,seksi +bgt,banget +bulet,bulat +ituu,itu +ngocok,mengocok +ni,ini +yg,yang +mw,mau +nyoba,mencoba +ikutin,mengikuti +gn,begini +yaahhh,ya +kencqng,kencang +ak,aku +kra,kira +kra,kira +msh,masih +diginikan,dibeginikan +"coret""",coret-coret +lahh,lah +gw,gue +gambarin,gambarkan +ntr,entar +klo,kalo +gw,gue +qt,kita +ky,kaya +gini,begini +y,ya +bener2,benar-benar +ngerii,ngeri +digambarin,digambarkan +klen,kalian +kek,kayak +bangke,bangkai +tp,tapi +gw,gue +kog,kok +jd,jadi +yha,ya +liatnya,lihatnya +bedanyaaa,bedanya +sm,sama +negri,negeri +mbk,mbak +pgin,pengin +fto,foto +krudungan,kerudungan +kakk,kak +ajaa,saja +maksutku,maksudku +kerennnnn,keren +njirr,anjir +ngerasa,merasa +bgt,banget +jd'y,jadinya +tp,tapi +manisnyaaaa,manisnya +thun,tahun +brp,berapa +bgt,banget +mbg,mbak +cantikk,cantik +bangeet,banget +sm,sama +km,kamu +jgn,jangan +ngaco,mengaco +ngomen,mengomentari +msh,masih +kaaakk,kak +gituh,begitu +tenggah,tengah +lucuuuu,lucu +yaa,ya +tpi,tapi +akuuu,aku +uuuuuaaaaaaaaaappppppppppiiiiiiiiiiiiiiiiiikkkkkkkkkkkkkkkk,apik +kocakkkkkkkkkkkkkk,kocak +ksukaanmuuu,kesukaanmu +bagiii,bagi +ayooo,ayo +nontonx,menontonnya +yach,ya +dpn,depan +pi,tapi +tu,itu +penasarannnn,penasaran +gilakkkkkk,gila +mauuu,mau +nontoonnn,menonton +cepet2,cepat-cepat +kepingin,pengin +nontonnnn,menonton +deeek,dek +ntappp,mantap +deg2an,deg-degan +liatnya,lihatnya +cyiiin,cinta +iyha,iya +kureeeen,keren +muantaap,mantap +nontonx,menontonnya +ga,tidak +pake,pakai +ngantri,mengantri +bli,beli +org,orang +nraktir,mentraktir +nonton,menonton +sbnyak,sebanyak +penasaraaann,penasaran +ga,tidak +kyk,kayak +ayoooo,ayo +nii,ini +nontonya,menontonnya +k,ke +kl,kalau +nunggu,menunggu +dpt,dapat +qta,kita +gw,gue +peen,pengin +lw,lu +gga,tidak +nunggu,menunggu +yaah,ya +asikkk,asik +gilak,gila +mcm,macam +ceritax,ceritanya +yoooiii,yoi +daah,deh +kuy,yuk +udahh,sudah +tauuuuu,tau +ngga,tidak +sabarrrrr,sabar +kqmu,kamu +banggain,banggakan +ngadain,mengadakan +ngak,tidak +ngadain,mengadakan +thn,tahun +knp,kenapa +pengan,pengin +ngadain,mengadakan +gk,tidak +sendeng,senang +simpen,simpan +gakk,tidak +bagiin,bagikan +nangis,menangis +nanggepin,menanggapi +pingin,pengin +gk,tidak +sma,sama +kapn,kapan +barang2,barang-barang +sma,sama +kirimin,mengirimi +tpi,tapi +gk,tidak +senengin,senangi +ngasih,mengasih +asikkk,asik +udh,sudah +ama,sama +ampunnnn,ampun +bln,bulan +senengg,senang +teruzzz,terus +gtu,begitu +mantabb,mantab +sumpahh,sumpah +yaa,ya +smua,semua +diluarann,diluaran +trbaik,terbaik +dlam,dalam +smua,semua +anjirrrr,anjir +jendess,janda +dh,deh +sichh,sih +jgn,jangan +pgn,pengin +namnya,namanya +kaka,kakak +gk,tidak +ninggalin,meninggalkan +orng,orang +geh,gih +ma,sama +nggak,tidak +sma,sama +kk,kakak +ber2,berdua +22nya,dua-duanya +aduuhhh,aduh +miripp,mirip +silauuu,silau +waww,wow +kerenn,keren +uga,juga +njiirr,anjir +bgs,bagus +bgt,banget +kesinii,kesini +gemay,gemas +dstu,disitu +tmpt,tempat +wiiiihhhh,wih +samoga,semoga +aamiin,amin +kereennn,keren +cobaa,coba +tuhh,tuh +wahh,wah +gk,tidak +nyangkaa,menyangka +hasilnyaaa,hasilnya +bangetttt,banget +dahhhh,dah +cmn,cuman +mudah2,mudah-mudah +bisaa,bisa +jugaakk,juga +prnh,pernah +diapa2in,diapa-apai +yaak,ya +lhoo,loh +mnta,minta +donx,dong +kyk,kayak +gthu,begitu +nda,indak +maauuu,mau +pacarrr,pacar +idamann,idaman +naturalllll,natural +bnyak,banyak +berntung,beruntung +merka,mereka +jln2,jalan-jalan +romntis,romantis +slamat,selamat +ulan,ulang +th,tahun +mngkin,mungkin +klau,kalau +diksi,dikasih +bgini,begini +sipp,sip +masi,masih +taun,tahun +jugak,juga +nungguin,menunggu +ngeluarin,mengeluarkan +keciill,kecil +ughaa,juga +"tante""",tante-tante +thn,tahun +ngerasa,merasa +gw,gue +banged,banget +abeees,habis +kapan2,kapan-kapan +adain,mengadakan +bsa,bisa +gk,tidak +bosen2,bosan-bosan +sempurnaaaaa,sempurna +kaan,kan +kece2,kece-kece +badaaiii,badai +beneraan,benaran +cantiiik,cantik +bgtt,banget +kuatttt,kuat +cantiiiiiiik,cantik +cantiknyaaa,cantiknya +pgn,pengin +bae2,baik-baik +lg,lagi +cantikkk,cantik +bgd,banget +mb,mbak +catiiiiik,cantik +bangeet,banget +subahanallah,subhanallah +cantikkk,cantik +bgt,banget +jaman2nya,jaman-jamannya +dapetin,mendapati +padet,padat +ga,tidak +buktiin,buktikan +km,kamu +yg,yang +cantiq,cantik +ak,aku +km,kamu +smua,semua +"pasien""nya",pasien-pasiennya +ngantri,mengantri +lohh,loh +bgt,banget +mngkin,mungkin +utk,untuk +ngasih,mengasih +keeeerrrreeeennnnnnnnn,keren +woow,wow +choker2,choker-choker +skarang,sekarang +skrang,sekarang +kaka,kakak +lohh,loh +gara2,gara-gara +buktiin,membuktikan +bangettttt,banget +hadirrr,hadir +hadirr,hadir +jelashh,jelas +sekali2,sekali-kali +mbaaa,mbak +temen,teman +kerenn,keren +hadirrr,hadir +ngomong,mengomong +hidupppp,hidup +nyebelin,menyebalkan +tp,tapi +diliatnya,dilihatnya +ga,tidak +abis2,habis-habis +gpp,tidak apa-apa +para2,parah-parah +bangeeet,banget +allahhhhhhh,allah +gemesnya,gemasnya +ilang2,hilang-hilang +mslh,masalah +kmi,kami +ngilangin,menghilangkan +tbuh,tubuh +itungan,hitungan +keliatan,kelihatan +ledekin,ledeki +tmn2,teman-teman +diputusin,diputuskan +gara2,gara-gara +km,kamu +gara2,gara-gara +repot2,repot-repot +oles2,oles-oles +ckup,cukup +dptkan,dapatkan +artis2,artis-artis +bener2,benar-benar +nyesel,menyesal +ayooo,ayo +saranin,menyarankan +kalii,kali +ajaa,saja +ninggiin,meninggikan +ledekin,ledeki +tmn2,teman-teman +baget,banget +dri,dari +bngt,banget +kl,kalau +lht,lihat +mnta,minta +kira2,kira-kira +lgsg,langsung +mngkin,mungkin +ngk,tidak +ahh,ah +pas2an,pas-pasan +balesin,membalas +gausah,tidak usah +kyk,kayak +sukaaa,suka +lutuna,lucunya +ciapa,siapa +gemesss,gemas +duhh,duh +terharuuu,terharu +ihh,ih +sumpahh,sumpah +alamii,alami +sampek,sampai +ckrng,sekarang +ngegemesin,menggemaskan +imoet,imut +bgt,banget +imut2,imut-imut +gtu,begitu +jagain,jaga +yahbh,ya +msih,masih +macem2,macam-macam +neko2,neko-neko +ngeliat,melihat +sktika,seketika +dr,dari +td,tadi +lutu,lucu +yg,yang +yaa,ya +yha,ya +wowwww,wow +massss,mas +kesiniii,kesini +bnget,banget +"keren""",keren-keren +"jalan""nya",jalan-jalannya +masyaallahhh,masyaallah +kerennn,keren +ksni,kesini +begok,bego +bkan,bukan +jgk,juga +gda,tidak ada +tmpt,tempat +mksd,maksud +aqu,aku +bawak,bawa +jdi,jadi +it,itu +bkan,bukan +nti,nanti +pgi,pagi +yahh,ya +keeeeeren,keren +bnget,banget +baguusss,bagus +mna,mana +liat,lihat +lg,lagi +bnget,banget +nahannnn,tahan +lucuu,lucu +bagaatt,banget +gayannxa,gayanya +kereeeen,keren +uda,sudah +ngekeh,kekeh +bg,bang +xlian,kalian +b3,bertiga +bnget,banget +lg,lagi +ihhh,ih +nyebelin,menyebalkan +bnget,banget +lcu,lucu +pait,pahit +pait,pahit +pait,pahit +koplakkk,koplak +kerass,keras +yachhh,ya +gokil,gila +bgt,banget +kmu,kamu +yg,yang +ngelihat,melihat +pngn,pengin +ngelawak,melawak +iiihhhhh,ih +gokil,gila +nyolotinnnn,menyolot +beratttttttt,berat +lucuu,lucu +cantiikkkk,cantik +kaa,kak +hijaabbb,hijab +sekalii,sekali +smnagatin,menyemangati +kk,kakak +pakek,pakai +kanapa,kenapa +ngk,tidak +pakek,pakai +cans,cantik +pke,pakai +aja,saja +subahanallah,subhanallah +banhet,banget +ahhhh,ah +bgttttttt,banget +mcm,macam +blng,bilang +jgn,jangan +mngasi,mengasih +kmbang,kembang +pg,pagi +tp,tapi +pulak,pula +nie,ini +nda,indak +pla,pula +kh,kah +tpi,tapi +cm,cuma +kw,kau +mcm,macam +kw,kau +pla,pula +yg,yang +blakon,berlakon +sy,saya +nmpk,nampak +sma,sama +lucuu,lucu +lcu,lucu +bngtzt,banget +lucukkkkk,lucu +inget,ingat +sbelah,sebelah +baek,baik +ciusss,serius +palinf,paling +fav,favorit +ndak,indak +maak,mak +ngakaaaakkk,mengakak +yank,sayang +bangett,banget +gokill,gila +kocakkkkkk,kocak +ngekek,mengekek +jgn,jangan +skrg,sekarang +udah,sudah +gak,tidak +capee,cape +pegangin,memegang +nyender,menyandar +bener,benar +manjain,memanjakan +bgt,banget +peleotin,meleot +bng,bang +ko,kok +gda,tidak ada +yahh,ya +termurahhhh,termurah +pengen,pengin +nyatakan,menyatakan +graaatiiiis,gratis +nyatakan,menyatakan +meriahh,meriah +cantikkkm,cantik +bangett,banget +parahh,parah +yuuk,yuk +mantabs,mantab +bingits,banget +yuppss,ya +nyindir,menyindir +bgt,banget +onoh,sono +bnyk,banyak +anakny,anaknya +staf2nya,staf-stafnya +gara2,gara-gara +ajaa,saja +ngilangin,menghilangkan +begete,banget +nyindir,menyindir +bgt,banget +aduhh,aduh +yg,yang +manteppp,mantap +hati2,hati-hati +jangan2,jangan-jangan +anakny,anaknya +kata2nya,kata-katanya +ynk,sayang +"nangis""",menangis-nangis +"hati""",hati-hati +"jangan""",jangan-jangan +emank,memang +klo,kalo +jagain,menjaga +dgn,dengan +cr,cara +emank,memang +diemin,diamkan +cm,cuma +aja,saja +trs,terus +uda,sudah +hancurin,menghancurkan +ga,tidak +ckp,cukup +cm,cuma +klo,kalo +mgkn,mungkin +ato,atau +diapain,diapakan +gtu,begitu +bgs,bagus +ms,masih +bs,bisa +krn,karena +mgkn,mungkin +haragain,menghargai +cb,coba +klo,kalo +g,tidak +uda,sudah +g,tidak +nyakitin,menyakiti +ht,hati +gw,gue +jgn2,jangan-jangan +org,orang +lg,lagi +kyk,kayak +sbaiknya,sebaiknya +mngerti,mengerti +blajar,belajar +dlu,dulu +dr,dari +fakta2,fakta-fakta +yg,yang +slama,selama +spt,seperti +udh,sudah +ckup,cukup +kyk,kayak +msh,masih +mnding,mending +cm,cuma +klo,kalo +gw,gue +lgsg,langsung +gw,gue +nilai2,nilai-nilai +lg,lagi +buka2,buka-buka +nyinyirin,nyinyir +pdhl,padahal +pd,pada +nyerang,menyerang +hrs,harus +mrk,mereka +trima,terima +mrk,mereka +hrs,harus +bs,bisa +ksh,kasih +ngomomg,mengomong +mang,memang +udh,sudah +klo,kalo +kbetulan,kebetulan +orgtuanya,orang tuanya +lg,lagi +sbelum,sebelum +ngamatin,mengamati +ngintip,mengintip +stelah,setelah +sm,sama +orng,orang +sndiri,sendiri +yg,yang +ksh,kasih +ngintilin,mengintil +trus,terus +smnjak,semenjak +trbukti,terbukti +nyambet,menyambat +msk,masuk +krmh,ke rumah +aja,saja +sm,sama +pdhl,padahal +rmh,rumah +gk,tidak +cm,cuma +yg,yang +skrg,sekarang +bo'ong,bohong +dri,dari +dlu,dulu +lg,lagi +klo,kalo +bkn,bukan +eloo,lo +apa2nya,apa-apanya +goblokkk,goblok +sesatt,sesat +ibliss,iblis +elo,lo +utk,untuk +smua,semua +hrs,harus +kbiasaan,kebiasaan +hdpnya,hidupnya +lbh,lebih +gk,tidak +byk,banyak +ngomong,mengomong +pake,pakai +pny,punya +anknya,anaknya +rmh,rumah +jalan2,jalan-jalan +gk,tidak +prnh,pernah +tdr,tidur +org,orang +sbuah,sebuah +spt,seperti +anak2nya,anak-anaknya +yg,yang +tdnya,tadinya +bkin,bikin +dr,dari +ank2nya,anak-anaknya +tp,tapi +ank2nya,anak-anaknya +yg,yang +milih,memilih +sndiri,sendiri +kn,kan +stelah,setelah +mrk,mereka +branjak,beranjak +ank2,anak-anak +gk,tidak +bs,bisa +masyarakay,masyarakat +yg,yang +lht,lihat +jg,juga +bs,bisa +mudah2an,mudah-mudahan +nyampe,sampai +utk,untuk +menegerti,mengerti +bkin,bikin +hdpnya,hidupnya +apa2,apa-apa +sok2,sok-sok +nasehatin,menasihati +ngaca,mengaca +dlu,dulu +jgn2,jangan-jangan +pantes,pantas +ajah,saja +kakk,kak +kakkkk,kak +slamet,selamat +ampe,sampai +nari,menari +ngapain,mengapai +ehh,eh +mf,maaf +bru,baru +ngcpin,mengucapkan +pgn,pengin +woowwww,wow +iaa,ya +trus,terus +yaaaa,ya +kakk,kak +kdg,kadang +nyesel,menyesal +knp,kenapa +skrg,sekarang +ngerasa,merasa +skrg,sekarang +kebagi,terbagi +nerusin,meneruskan +indo,indonesia +aja,saja +univ,universitas +kk,kakak +kk,kakak +nyesel,menyesal +kmu,kamu +maen,main +"ngaku""",mengaku-ngaku +wihh,wih +tetapppp,tetap +gantenggg,ganteng +aq,aku +donk,dong +jakety,jaketnya +lucuu,lucu +nggk,tidak +skli,sekali +kli,kali +yg,yang +km,kamu +ttp,tetap +pala,kepala +pusingggg,pusing +ttp,tetap +bng,bang +ttp,tetap +qu,ku +pucing,pusing +pala,kepala +ihhhh,ih +maho,manusia homo +gpp,tidak apa-apa +gantng,ganteng +pucing,pusing +alak,kepala +ga,tidak +akn,akan +hilangv,hilang +bungggg,bung +bangg,bang +gapap,tidak apa-apa +klo,kalo +keliatan,kelihatan +kyak,kayak +yg,yang +pling,paling +byk,banyak +gokiiill,gila +ngak,tidak +apa2,apa-apa +jdi,jadi +kya,kaya +org,orang +busedh,buset +gokilnya,gilanya +sma,sama +duluuu,dulu +keceee,kece +nyaa,nya +klu,kalau +gilaa,gila +gak,tidak +ahhhh,ah +w,gue +duuhhh,duh +tetep,tetap +aq,aku +amiiiiinnnnn,amin +dg,dengan +tullus,tulus +tw,tau +pluk,peluk +durhaka2,durhaka-durhaka +y,ya +gk,tidak +ngomong,mengomong +kmu,kamu +udh,sudah +ttp,tetap +kpada,kepada +"seburuk""",seburuk-buruk +ortu,orang tua +kta,kata +dy,dia +ktaa,kita +dy,dia +yup,ya +tdk,tidak +mb,mbak +tetaplaah,tetaplah +q,aku +baek,baik +ajja,saja +dech,deh +baek,baik +oprasi,operasi +aj,saja +gya,gaya +sm,sama +ny,nya +kndung,kandung +ehh,eh +sbg,sebagai +klo,kalo +bkn,bukan +u,untuk +smua,semua +ksenangan,kesenangan +yg,yang +ddpt,didapat +skrang,sekarang +jwab,jawab +sbg,sebagai +km,kamu +sk,suka +mmbodohkan,membodohkan +orlaen,orang lain +bgtu,begitu +sbg,sebagai +jgn,jangan +bgtu,begitu +skrg,sekarang +drpd,daripada +spt,seperti +elo,lo +malem,malam +gk,tidak +ngerti,mengerti +aplikasiin,mengaplikasikan +bgtu,begitu +berangat,berangkat +praktekin,mempraktikkan +dahh,dah +ntar,entar +gmn,bagaimana +omdo,omong doang +bgini,begini +kate,kata +gada,tidak ada +cabe2,cabe-cabe +klo,kalo +prjuangan,perjuangan +dg,dengan +kmewahan,kemewahan +stimpal,setimpal +dg,dengan +kmewahan,kemewahan +yg,yang +ddpat,didapat +klo,kalo +bkn,bukan +sprt,seperti +skrang,sekarang +km,kamu +jgn,jangan +aj,saja +bc,baca +mnilai,menilai +km,kamu +kata2,kata-kata +za,saja +gak,tidak +pake,pakai +pake,pakai +w,gue +gak,tidak +udahh,sudah +gak,tidak +usahh,usah +omdo,omong doang +za,saja +segala2nya,segala-galanya +sekarng,sekarang +skrg,sekarang +sprti,seperti +skrg,sekarang +sampe,sampai +masing2,masing-masing +jgn,jangan +sampe,sampai +mkanya,makanya +jgn,jangan +dlu,dulu +sblm,sebelum +hay,hai +mreka,mereka +bhagia,bahagia +km,kamu +aja,saja +yg,yang +korek2,korek-korek +org,orang +pngen,pengin +ngebales,membalas +krna,karena +w,gue +sihh,sih +gak,tidak +ngomong,mengomong +udahh,sudah +males,malas +w,gue +sasama,sesama +ga,tidak +klo,kalo +dahh,dah +elo,lo +dehh,deh +cabe2an,cabe-cabean +terong2an,terong-terongan +seklian,sekalian +kluar,keluar +tuuu,itu +jgn,jangan +ngurusan,mengurusi +org,orang +ngaca,mengaca +donk,dong +campurin,mencampuri +emnknya,memangnya +py,punya +kaka,kakak +unyuu,unyu +dy,dia +bkn,bukan +tp,tapi +kndung,kandung +klo,kalo +mrangkul,merangkul +adlh,adalah +knpa,kenapa +klo,kalo +g,tidak +wlo,walau +bnyak,banyak +yg,yang +sperti,seperti +lh,lah +manusiy,manusia +tx,tak +dr,dari +samara,sakinah mawadah rahman +aamiin,amin +klw,kalau +liat,lihat +teringt,teringat +trmsuk,termasuk +ank,anak +yg,yang +dn,dan +pilihnmu,pilihanmu +swmntara,sementara +trmasuk,termasuk +gak,tidak +dlm,dalam +orang2,orang-orang +yg,yang +sgt,sangat +liht,lihat +aj,saja +y,ya +klo,kalo +suaminy,suaminya +skrg,sekarang +msh,masih +kn,kan +sm,sama +jadulnya,jaman dulunya +mantaff,mantap +klo,kalo +yg,yang +ngata2in,mengata-ngatai +g,tidak +jgn,jangan +bagaimna,bagaimana +tpi,tapi +mulusssss,mulus +bgus,bagus +bkn,bukan +gmana,bagaimana +kpleset,kepleset +yawlah,ya allah +bgt,banget +ntr,entar +lgsg,langsung +kepeleset,kepleset +engga,tidak +kayanye,kayanya +amiinnnn,amin +klo,kalo +gn,begini +ngakak,mengakak +komen2an,komen-komenan +wewww,wow +dumsss,dong +tar,entar +keq,kayak +gini,begini +amiin,amin +perbaikin,memperbaiki +trus,terus +permasalhkan,permasalahkan +bener2,benar-benar +ga,tidak +ngomong,mengomong +betul2,betul-betul +jauhin,jauhi +dateng,datang +ngomong,mengomong +adiik,adik +manisss,manis +ngerti,mengerti +"besar""",besar-besar +"masing""",masing-masing +aja,saja +"masing""",masing-masing +yaaa,ya +nyoba,mencoba +wihh,wih +beneran,benaran +yg,yang +ddlm,di dalam +smua,semua +kmbali,kembali +pd,pada +d,di +kmu,kamu +gk,tidak +kmu,kamu +gk,tidak +dkuburnya,dikuburnya +fi,di +indo,indonesia +sm,sama +ttg,tentang +masing2,masing-masing +kyk,kayak +kl,kalo +rata2,rata-rata +lbih,lebih +byk,banyak +critamu,ceritamu +kw,kau +ja,saja +dl,dulu +tu,itu +kl,kalo +dh,dah +bres,beres +cmkn,camkan +tu,itu +gk,tidak +diurusin,diurusi +keles,kali +yg,yang +biarin,biarkan +aja,saja +ntar,entar +utk,untuk +utk,untuk +gk,tidak +gk,tidak +kk,kakak +kale,kali +klo,kalo +ngomong,mengomong +elo,lo +ngerasa,merasa +bener,benar +ga,tidak +donks,dong +ga,tidak +kn,kan +keles,kali +smoga,semoga +kmu,kamu +jngan,jangan +"membanding""",membanding-banding +gk,tidak +kmi,kami +mengperbolehkan,memperbolehkan +gk,tidak +krena,karena +ngri,negeri +"dingin""",dingin-dingin +kn,kan +lma,lama +dibangga'in,dibangga-banggakan +ngajak,mengajak +ngebolehin,membolehkan +dapet,dapat +gak,tidak +denger,dengar +dlu,dulu +"jelek""in",menjelek-jelekkan +stiap,setiap +org,orang +gausa,tidak usah +maksain,memaksakan +klo,kalo +km,kamu +buktiin,buktikan +smog,semoga +mnerima,menerima +baikxa,baiknya +aaamin,amin +ma,sama +ma,sama +sdh,sudah +gk,tidak +amienn,amien +sekangen2,sekangen-kangen +sm,sama +met,selamat +jln,jalan +amiin,amin +aamiin,amin +kt,kita +kmu,kamu +sdh,sudah +gak,tidak +tpi,tapi +aminnnn,amin +amiiiiiiiiiinnnnnnn,amin +nolongin,menolong +amiiiiiiiiiiin,amin +seluru,seluruh +aminn,amin +alloh,allah +amiennn,amien +amiiiin,amin +amiiiin,amin +gak,tidak +ngk,tidak +ngak,tidak +ngak,tidak +gak,tidak +bnget,banget +klow,kalau +tebir,ribet +doangam,doang +"tebir""",ribet-ribet +amad,amat +mkst,maksud +jgn,jangan +sm,sama +ae,saja +wong2,wong-wong +lau,kau +rempong,repot +ngurusin,mengurusi +kerjaan,pekerjaan +bingittzz,banget +dgn,dengan +bangets,banget +ajaa,saja +jg,juga +bngt,banget +ikh,ih +kk,kakak +aq,aku +dwh,deh +pulak,pula +nengok,menengok +bante,bantai +la,lah +ngomong,mengomong +komenannya,komentarnya +hadapin,menghadapi +dengarin,mendengarkan +bru,baru +gk,tidak +ush,usah +sma,sama +gpp,tidak apa-apa +cock,cocok +widihh,waduh +bner,benar +mantepp,mantap +dehh,deh +itungan,hitungan +cita2,cita-cita +temen-temen,teman-teman +stu,satu +syratnya,syaratnya +klo,kalo +skrg,sekarang +skrg,sekarang +mksh,terima kasih +bgt,banget +smoga,semoga +pnjang,panjang +shat,sehat +slalu,selalu +inginkn,inginkan +ank,anak +belanjaa,belanja +disiniii,disini +buktiin,buktikan +burem,buram +tlp,telepon +dngan,dengan +dg,dengan +ga,tidak +nyangka,menyangka +nunggu,menunggu +ngerasain,merasai +ngerasain,merasai +gmn,bagaimana +yaaa,ya +kancang,kencang +tmbh,tambah +cntik,cantik +bnyk,banyak +knp,kenapa +mansyoallah,masyaallah +skali,sekali +canttttikkk,cantik +dapetin,mendapati +subhanalloh,subhanallah +dlm,dalam +slmt,selamat +utk,untuk +pke,pakai +lbh,lebih +keliatan,kelihatan +mksh,terima kasih +udah,sudah +ksh,kasih +saranin,sarankan +dapetin,mendapati +stiap,setiap +lkuin,lakukan +ttep,tetap +langgenh,langgeng +foto2nya,foto-fotonya +tanggung2,tanggung-tanggung +salluutt,salut +pkai,pakai +lht,lihat +kmu,kamu +skrg,sekarang +pake,pakai +sm,sama +kmu,kamu +pd,pada +org2,orang-orang +yg,yang +smua,semua +mkn,makin +pake,pakai +seneng,senang +liat,lihat +pdng,padang +syantik,cantik +warbiyasah,luar biasa +skrg,sekarang +pk,pakai +kk,kakak +mbk,mbak +keedaannya,keadaannya +lagu2,lagu-lagu +saya2,saya-saya +tunggu2,tunggu-tunggu +sekrng,sekarang +mngkin,mungkin +ga,tidak +lg,lagi +tp,tapi +lagu2nya,lagu-lagunya +ttap,tetap +bsa,bisa +spertinya,sepertinya +ma,sama +kyk,kayak +cm,cuma +kmrn,kemarin +ad,ada +mrah,marah +gra2,gara-gara +skrg,sekarang +dy,dia +sngaja,sengaja +kyk,kayak +jlek,jelek +bs,bisa +jd,jadi +udah2,sudah-sudah +smua,semua +udh,sudah +ungkit2,ungkit-ungkit +udh,sudah +pura2,pura-pura +gatau,tidak tau +curhat2,curhat-curhat +matany,matanya +klo,kalo +kyk,kayak +gni,begini +byk,banyak +bner,benar +klo,kalo +dteng,datang +k,ke +mata'y,matanya +baju2,baju-baju +ayoooo,ayo +buruannn,buruan +emng,memang +perubut,perebut +sumai,suami +hdp,hidup +tk,tak +tdk,tidak +sprti,seperti +mb,mbak +elo,lo +urusin,mengurusi +apah,apa +sm,sama +bagus2,bagus-bagus +say,sayang +sekarng,sekarang +mb,mbak +ma,sama +mbk,mbak +jd,jadi +bgt,banget +ma,sama +sbg,sebagai +mmbela,membela +mb,mbak +mslhnya,masalahnya +hnya,hanya +sndri,sendiri +sy,saya +sj,saja +gpp,tidak apa-apa +krn,karena +msh,masih +bnyk,banyak +llki,lelaki +dluar,diluar +sna,sana +yg,yang +mw,mau +sm,sama +km,kamu +boleh2,boleh-boleh +dg,dengan +dya,dia +pantes,pantas +maluuuu,malu +beda2,beda-beda +mksh,terima kasih +udh,sudah +nyaranin,menyarankan +pake,pakai +skrng,sekarang +ja,saja +x,kali +dgn,dengan +masing2,masing-masing +lagu2nya,lagu-lagunya +tongolin,menongol +sm,sama +ahhh,ah +cabol,cabul +ngomong,mengomong +ape,apa +nyet,monyet +muna,munafik +jing,anjing +tot,entot +nihh,nih +sm,sama +ttg,tentang +tuhh,tuh +kmu,kamu +smoga,semoga +dpt,dapat +hidiyah,hidayah +jgn,jangan +percya,percaya +bgi,bagi +tlg,tolong +sya,saya +sdri,sendiri +sdh,sudah +tdi,tadi +mgkin,mungkin +bkn,bukan +sya,saya +blg,bilang +bhwa,bahwa +mimin,admin +indo,indonesia +dr,dari +br,baru +denger,dengar +skaligus,sekaligus +dr,dari +bkin,bikin +jg,juga +y,saya +bkn,bukan +jd,jadi +br,baru +cek2,cek-cek +kl,kalo +spti,seperti +dl,dulu +smakin,semakin +qta,kita +dg,dengan +gtu,begitu +sbgai,sebagai +mgk,mungkin +bs,bisa +bgmn,bagaimana +kl,kalo +spti,seperti +sapa2,sapa-sapa +tp,tapi +mmg,memang +sama2,sama-sama +kyknya,kayaknya +dgn,dengan +mgkn,mungkin +bhwa,bahwa +pnya,punya +dng,dengan +km,kamu +termurahhh,termurah +bbrp,beberapa +bhw,bahwa +dgn,dengan +banyaaaaaak,banyak +yg,yang +org2,orang-orang +ga,tidak +baik2nya,baik-baiknya +klo,kalo +mmg,memang +knp,kenapa +hrs,harus +tunjukan,tunjukkan +bhwa,bahwa +dr,dari +mgkn,mungkin +dg,dengan +anak2mu,anak-anakmu +bs,bisa +mgkn,mungkin +anak2,anak-anak +bagus2,bagus-bagus +anak2,anak-anak +ngasih2,mengasih-ngasih +berfikir,berpikir +ni,nih +amit2,amit-amit +mba,mbak +kasian,kasihan +elu,lu +d,di +kyk,kayak +gw,gue +ngajuin,mengajukan +tiba2,tiba-tiba +jkt,jakarta +kyk,kayak +ni,ini +yaaa,ya +lg,lagi +thn,tahun +laki2,laki-laki +terbaeq,terbaik +utk,untuk +namany,namanya +gk,tidak +jels,jelas +bgt,banget +tdk,tidak +dn,dan +diakibtkn,diakibatkan +gk,tidak +ad,ada +kerjaan,pekerjaan +emng,memang +suk,suka +jelek2,jelek-jelek +emng,memang +dsrny,dasarnya +ny,nya +sy,saya +jkrta,jakarta +mna,mana +dn,dan +mantaap,mantap +benar2,benar-benar +sperti,seperti +main2,main-main +lanjutkaaaaan,lanjutkan +hiduppp,hidup +ncek,encek +majuuu,maju +teruuss,terus +kdg2,kadang-kadang +looohh,loh +yg,yang +udah,sudah +sebelumbya,sebelumnya +tp,tapi +yg,yang +bener2,benar-benar +dg,dengan +ajah,saja +keles,kali +dr,dari +tp,tapi +tunjukin,tunjukkan +kya,kaya +"tahun""",tahun-tahun +jkt,jakarta +koment,komentar +ksh,kasih +k,ke +koment,komentar +sya,saya +nyampein,menyampaikan +sya,saya +nyampein,menyampaikan +bkn,bukan +jgn,jangan +nyari,mencari +msh,masih +dlm,dalam +hokiii,hoki +y,ya +gk,tidak +naksir,menaksir +iyah,iya +naksir,menaksir +"bangt""",banget-banget +cntik,cantik +bgt,banget +kk,kakak +k,kak +liat,lihat +liat,lihat +ntar,entar +naksir,menaksir +tw,tau +nafkahin,menafkahi +km,kamu +dlu,dulu +ngitem,menghitam +banyaaaak,banyak +"sama""",sama-sama +gx,tidak +lhat,lihat +ja,saja +naksir,menaksir +cantika,cantik +bgt,banget +klau,kalau +naksir,menaksir +kmu,kamu +cwek,cewek +ak,aku +laki2,laki-laki +udh,sudah +duhh,duh +kngen,kangen +fillm,film +dr,dari +emg,memang +udh,sudah +lbh,lebih +sinet,sinetron +jendral,jenderal +nanya,tanya +maenya,mainnya +sinet,sinetron +cantiks,cantik +wktu,waktu +pilm,film +yaa,ya +taon,tahun +klau,kalau +nd,indak +slah,salah +"nangis""",menangis-nangis +ortu,orang tua +beliin,belikan +ituu,itu +donk,dong +dr,dari +bgtt,banget +lgsg,langsung +aja,saja +cini,sini +jaaangan,jangan +uda,sudah +nambah,bertambah +naek,naik +terimaksih,terima kasih +saranin,menyarankan +pake,pakai +inii,ini +kaannnn,kan +tidakkkk,tidak +kemuh,kamu +da,sudah +keren2,keren-keren +gak,tidak +nyangka,menyangka +sempet,sempat +sby,surabaya +aq,aku +ga,tidak +y,ya +aq,aku +nonton,menonton +tgl,tanggal +pinginnn,pengin +buanget,banget +ketemuuu,ketemu +ampe,sampai +kebawa,terbawa +mimpiii,mimpi +pengen,pengin +ketemuuu,ketemu +wanjerrr,anjir +satupunn,satupun +motret,memotret +kapan2,kapan-kapan +temen2,teman-teman +msh,masih +donk,dong +lapakk,lapak +nyeniii,menyeni +bget,banget +ngeselin,mengesalkan +ad,ada +yg,yang +ga,tidak +seeh,sih +ttg,tentang +abis,habis +deuhh,duh +b2an,berduaan +dihargain,dihargai +"engga""",tidak-tidak +pdhl,padahal +udh,sudah +pcrn,pacaran +tahun2,tahun-tahun +tp,tapi +gk,tidak +yha,ya +lebayy,lebay +kya,kaya +gilsss,gila +baek,baik +baper,bawa perasaan +dech,deh +udh,sudah +bgt,banget +nganbek,mengambek +sukaa,suka +enk,enak +njir,anjir +kek,kayak +gini,begini +tp,tapi +mendam,memendam +gpp,tidak apa-apa +la,lah +dr,dari +maen,main +manta,mantan +gituuu,begitu +yaaa,ya +ihh,ih +ga,tidak +relaaaa,rela +kmrn,kemarin +gtu,begitu +kyak,kayak +gni,begini +bgun,bangun +cntik,cantik +lg,lagi +tdur,tidur +cntk,cantik +kt,kita +pengen,pengin +bgt,banget +knl,kenal +anugrah,anugerah +slm,salam +knl,kenal +pakek,pakai +uda,sudah +kliatan,kelihatan +km,kamu +yg,yang +gak,tidak +lbih,lebih +klu,kalau +awoohhh,allah +cantiikk,cantik +bngett,banget +kli,kali +kya,kaya +gt,begitu +kk,kakak +sbbyak,sebanyak +apun,apapun +indo,indonesia +tetep,tetap +nyangkutnya,menyangkutnya +yg,yang +untk,untuk +kk,kakak +sihh,sih +kk,kakak +gk,tidak +kliatan,kelihatan +org,orang +ampunnnnn,ampun +bgt,banget +kmu,kamu +hy,hai +hy,hai +hy,hai +cantikkk,cantik +wadaaw,waduh +paraah,parah +org,orang +aj,saja +cntk,cantik +kk,kakak +donk,dong +sampw,sampai +pengen,pengin +ngeliat,melihat +dijelekin,dijelekkan +dlu,dulu +napa,kenapa +ttp,tetap +bntu,bantu +azeeeek,asik +kalii,kali +ntikk,cantik +uhh,uh +mayan,lumayan +mnisss,manis +gtu,begitu +tambahim,tambahkan +tambahin,tambahkan +bngt,banget +bgt,banget +klo,kalo +pake,pakai +"bener""",benar-benar +klo,kalo +make,memakai +klo,kalo +dg,dengan +org,orang +yg,yang +gilaaaa,gila +canttikkk,cantik +baanggeettt,banget +ap,apa +siiihh,sih +krpoooo,kepo +pengn,pengin +gni,begini +nyusul,menyusul +nyok,yuk +kk,kakak +gni,begini +dekkk,dek +g,tidak +da,ada +yg,yang +mw,mau +kk,kakak +baper,bawa perasaan +bgt,banget +ngiri,mengiri +mmang,memang +ga,tidak +nentuin,menentukan +smoga,semoga +mnjmput,menjemput +yg,yang +kk,kakak +ygs,sayang +bgt,banget +liat,lihat +dahh,deh +jan,jangan +mblooo,jomblo +pengen,pengin +bs,bisa +ber'expresi,berekspresi +bgtu,begitu +tw,tau +ni,ini +jdulnya,judulnya +ap,apa +ciumman,ciuman +aurot,aurat +laginy,laginya +ga,tidak +yg,yang +nyaaaaaaaaaaaaa,nya +alkhamdulilah,alhamdulillah +ktnya,katanya +selaluu,selalu +anjirrr,anjir +ngeh,engah +amen,amin +bs,bisa +kliatan,kelihatan +mngkin,mungkin +qm,kamu +aamiin,amin +udh,sudah +ngomong,mengomong +kmrn,kemarin +klo,kalo +liatnya,lihatnya +udh,sudah +sm,sama +indo,indonesia +nahhh,nah +bener,benar +gak,tidak +yah,ya +ngmngnya,mengomongnya +trs,terus +yg,yang +benar2,benar-benar +orang2,orang-orang +yg,yang +sampai2,sampai-sampai +hal2,hal-hal +krn,karena +komunitas2,komunitas-komunitas +utk,untuk +mw,mau +gak,tidak +gak,tidak +fotony,fotonya +halllo,halo +sma,sama +ngiritya,mengiritnya +hematt,hemat +cocokk,cocok +dr,dari +gw,gue +lg,lagi +ciyeeee,cie +ni,nih +yeeee,ya +kk,kakak +gak,tidak +aq,aku +nget,banget +kususnya,khususnya +krm,kirim +sam,sama +ajaaahhhhh,saja +syediiihhh,sedih +akuuu,aku +gx,tidak +ngerti,mengerti +malangg,malang +belooomm,belum +blm,belum +kn,kan +blom,belum +bingit,banget +d,di +donk,dong +donk,dong +yaakk,ya +yaaa,ya +nggk,tidak +kebukti,terbukti +anak2e,anak-anaknya +pgn,pengin +tuwanya,tuanya +gmn,bagaimana +comen2nya,komen-komennya +pedesssss,pedas +anak2mu,anak-anakmu +yg,yang +krn,karena +jelas2,jelas-jelas +skg,sekarang +sdh,sudah +kl,kalo +yg,yang +utk,untuk +anak2nya,anak-anaknya +nyebut2,menyebut-nyebut +anak2mu,anak-anakmu +yg,yang +plg,pulang +smbil,sambil +hellooooooo,halo +ngrebut,merebut +dri,dari +org,orang +mnjdi,menjadi +sprti,seperti +skg,sekarang +krna,karena +ngomong,mengomong +taek,tahi +gak,tidak +km,kamu +smga,semoga +bget,banget +hancurin,menghancurkan +rmh,rumah +lupain,melupakan +bangkret,bangkrut +ngmng,mengomong +taekk,tahi +lahhhhhh,lah +muna,munafik +kedokk,kedok +"mati""an",mati-matian +pda,pada +ga,tidak +bsa,bisa +aq,aku +nyimak,menyimak +komenx,komennya +serem2,seram-seram +"ngumpet""",mengumpet-ngumpet +bgt,banget +klo,kalo +km,kamu +lg,lagi +blim,belum +km,kamu +sekrang,sekarang +smpe,sampai +ngerebut,merebut +mnjijikaaaaaan,menjijikkan +astgfrlh,astagfirullah +knpa,kenapa +mba,mbak +bngt,banget +sahabatt,sahabat +bngt,banget +gnyngka,tidak menyangka +yaa,ya +yg,yang +kya,kaya +gtu,begitu +sendirir,sendiri +brengsekk,brengsek +gk,tidak +da,ada +g,tidak +prnh,pernah +tetep,tetap +mbg,mbak +gk,tidak +ngomentnya,mengomentarinya +ga,tidak +nusuk,menusuk +dr,dari +blg,bilang +dr,dari +skr,sekarang +dpotong,dipotong +helo,halo +blm,belum +dpotong,dipotong +kmrin,kemarin +krn,karena +ngmgin,mengomongkan +kw,kau +bilangg,bilang +yah,ya +kw,kau +dri,dari +dy,dia +ga,tidak +ngerebut,merebut +temen,teman +gkhianati,mengkhianati +kpd,kepada +hdup,hidup +krn,karena +sdh,sudah +hdup,hidup +dg,dengan +skr,sekarang +hr,hari +sp,siapa +pljaran,pelajaran +utk,untuk +org,orang +spy,supaya +tdk,tidak +mngikuti,mengikuti +klkuan,kelakuan +spy,supaya +tdk,tidak +anak2nya,anak-anaknya +tdk,tidak +dibikin2,dibikin-bikin +trus,terus +gimana,bagaimana +nnt,nanti +ngurusin,mengurusi +cew,cewek +cow,cowok +sm,sama +aja,saja +kasiannn,kasihan +bgt,banget +bnyak,banyak +mgkin,mungkin +dr,dari +cocokkkk,cocok +syekaliii,sekali +ngelihat,melihat +smoga,semoga +hgga,hingga +ngiri,mengiri +makasih,terima kasih +makasih,terima kasih +ayoo,ayo +seneng,senang +kaka,kakak +jd,jadi +pengen,pengin +namain,menamai +ank,anak +bangett,banget +yaaa,ya +cieeeee,cie +bgt,banget +sholihah,salihah +bangett,banget +adeuh,aduh +bgt,banget +nantiii,nanti +aamiin,amin +halahh,alah +luu,lu +leh,boleh +uga,juga +yuuks,yuk +ayooo,ayo +ka,kak +yoo,ayo +ginian,beginian +judulnyaa,judulnya +ape,apa +nihh,nih +ko,kok +ngikutin,mengikuti +gk,tidak +klo,kalo +mauuu,mau +inii,ini +bnyak,banyak +ato,atau +ayoookkkkkk,ayo +bgt,banget +y,ya +yaaa,ya +pengen,pengin +yg,yang +mb,mbak +klo,kalo +cwek,cewek +namax,namanya +klo,kalo +cwo,cowok +artix,artinya +klo,kalo +cwek,cewek +namax,namanya +klo,kalo +cwo,cowok +namax,namanya +cewe,cewek +cowo,cowok +klo,kalo +lt,lantai +cewe,cewek +tambahin,tambahkan +"nama""",nama-nama +mba,mbak +smg,semoga +sll,selalu +cowo,cowok +cewe,cewek +aja,saja +klo,kalo +cwe,cewek +serem,seram +serem,seram +bgt,banget +yg,yang +masing2,masing-masing +elu,lu +udah,sudah +aja,saja +ngapain,mengapai +kepoin,mengepoi +keluarin,mengeluarkan +gajelas,tidak jelas +yg,yang +mbak2,mbak-mbak +yg,yang +pedes,pedas +smua,semua +komentnya,komentarnya +gk,tidak +uda,sudah +ny,nya +omongin,mengomongkan +gk,tidak +anak2nya,anak-anaknya +ngalirrrrr,mengalir +krn,karena +udh,sudah +sbr,sabar +yg,yang +g,tidak +gmn,bagaimana +g,tidak +ad,ada +idup,hidup +sma,sama +mrk,mereka +tp,tapi +nmbah,bertambah +terossss,terus +gpp,tidak apa-apa +ngehujat,menghujat +dosaa,dosa +ngebela,membela +mmg,memang +seindonesiyah,seindonesia +tp,tapi +ank,anak +tdk,tidak +orgtuanya,orang tuanya +jd,jadi +jgn,jangan +anknya,anaknya +kmu,kamu +seh,sih +kyk,kayak +yg,yang +ksh,kasih +aja,saja +udh,sudah +senyumin,senyumi +gw,gue +mh,mah +liat,lihat +slalu,selalu +cpt,cepat +dapet,dapat +yg,yang +segala2nya,segala-galanya +ngalir,mengalir +yaa,ya +ngrusak,merusak +anak2nya,anak-anaknya +aja,saja +ngalir,mengalir +org,orang +px,punya +kslhn,kesalahan +skrngnya,sekarangnya +udh,sudah +lbh,lebih +knp,kenapa +engga,tidak +emang,memang +g,tidak +ga,tidak +kalik,kali +ak,aku +mba,mbak +yg,yang +lbh,lebih +yah,ya +g,tidak +bilangin,bilang +yg,yang +g,tidak +nyambungin,menyambung +yg,yang +d,di +uda,sudah +yg,yang +sllu,selalu +org,orang +tu,itu +scra,secara +g,tidak +nggali,menggali +org,orang +yg,yang +g,tidak +g,tidak +yg,yang +cmpur,campur +y,ya +gk,tidak +elo,lo +utk,untuk +jg,juga +dgr,dengar +elo,lo +gk,tidak +y,ya +gak,tidak +gitu,begitu +aja,saja +kurng,kurang +kepoin,mengepoi +sampe,sampai +nangis,menangis +bnget,banget +nangiiiiis,menangis +nangiiis,menangis +kasian,kasihan +ngomentarin,mengomentari +org,orang +aja,saja +org,orang +udh,sudah +idupnya,hidupnya +ortunya,orang tuanya +gk,tidak +woey,woy +bloghhh,goblok +org2,orang-orang +yg,yang +ngomongin,mengomongkan +nyimak,menyimak +doank,doang +lbh,lebih +orang2,orang-orang +orang2,orang-orang +nangis,menangis +"abal""",abal-abal +kasian,kasihan +dikata2in,dikata-katai +bnyk,banyak +yg,yang +ngehina,menghina +gmna,bagaimana +smoga,semoga +jd,jadi +yg,yang +bs,bisa +jd,jadi +kebanggan,kebanggaan +udah,sudah +ngaca,mengaca +donk,dong +jg,juga +dah,deh +jngn,jangan +klo,kalo +gimana,bagaimana +mnjawab,menjawab +woooiiiiiiii,woy +dosaaaaaaaaaa,dosa +ingt,ingat +karmaaa,karma +woooiiiii,woy +yg,yang +yg,yang +ngkkkkkk,mengakak +yg,yang +ad,ada +makny,maknya +orng,orang +wdooohhh,waduh +ank,anak +ap,apa +y,ya +kasihn,kasihan +bru,baru +lhirr,lahir +dpt,dapat +hujatann,hujatan +palgi,apalagi +kl,kalo +dh,dah +yaa,ya +wihhh,wih +kakakkk,kakak +bgt,banget +bagusss,bagus +bangat,banget +yah,ya +yuuk,yuk +yaa,ya +bgt,banget +jt,juta +ngets,banget +stp,setiap +penbelian,pembelian +cuaantik,cantik +sukakkk,suka +bgt,banget +m,sama +pingin,pengin +yg,yang +jgn,jangan +yak,ya +yaa,ya +cucokkk,cocok +bngettt,banget +bkin,bikin +lyt,lihat +expresi,ekspresi +natap,menatap +gilaaa,gila +bgt,banget +gk,tidak +ccok,cocok +helloo,halo +yg,yang +emang,memang +mh,mah +udah,sudah +dripada,daripada +sama2,sama-sama +difotoin,difoto +mreka,mereka +psangan,pasangan +yg,yang +skali,sekali +knp,kenapa +bgttt,banget +cakepp,cakep +ngiriii,mengiri +coxok,cocok +bgt,banget +buatin,buatkan +lg,lagi +napa,kenapa +yahhh,ya +binggo,banget +yng,yang +udah,sudah +liat,lihat +nihhh,nih +statusx,statusnya +cem,macam +yee,ya +klo,kalo +cntik,cantik +bgt,banget +bgt,banget +kaka,kakak +y,ya +ngikutin,mengikuti +ngikutin,mengikuti +cewe,cewek +aja,saja +sm,sama +sunggu,sungguh +udh,sudah +lagiii,lagi +denger,dengar +ammiiin,amin +haddeh,aduh +km,kamu +maaasss,mas +klo,kalo +ngomong,mengomong +nggak,tidak +bgt,banget +segerrrr,segar +ilang,hilang +kemn,kemana +y,ya +g,tidak +suipit,sipit +y,ya +ngomong,mengomong +aj,saja +gk,tidak +"sama""",sama-sama +sipiit,sipit +ga,tidak +kedengeran,kedengaran +akn,akan +slalu,selalu +smua,semua +yg,yang +kaka,kakak +semangaatt,semangat +trus,terus +yaah,ya +promil,program hamil +krn,karena +tdk,tidak +lancr,lancar +keputihn,keputihan +gratisss,gratis +km,kami +aamiin,amin +yaa,ya +kebayang,terbayang +dr,dari +aamiin,amin +"mdh""",mudah-mudah +qt,kita +bz,bisa +amiinn,amin +liatnya,lihatnya +kk,kakak +aamiin,amin +amiennn,amien +aamiin,amin +aminnn,amin +amiin,amin +amiin,amin +ammin,amin +amiin,amin +amiin,amin +amiin,amin +smg,semoga +mendapatkn,mendapatkan +yg,yang +aminn,amin +aamiin,amin +yaa,ya +yg,yang +laki2,laki-laki +yg,yang +nihh,nih +nonton,menonton +sampe,sampai +lucuuuk,lucu +jg,juga +yaaa,ya +yaa,ya +gw,gue +amaattt,amat +namain,menamai +aje,saja +yaoloh,yaallah +guee,gue +emang,memang +nambah,bertambah +klo,kalo +ngerayain,merayakan +nambah,bertambah +nambah,bertambah +sotoy,sok tau +yaoloh,yaallah +njir,anjir +liat,lihat +ny,nya +yok,yuk +buatin,membuat +gini,begini +kpn,kapan +d.bikinin,dibikin +kya,kaya +gini,begini +yah,ya +mmz,mas +bikinin,bikin +bapeeeer,bawa perasaan +ngiri,mengiri +yg,yang +lahh,lah +bs,bisa +bikinin,membikin +yah,ya +baperr,bawa perasaan +keliatannya,kelihatannya +udah,sudah +keliatannya,kelihatannya +ilang,hilang +tetep,tetap +siih,sih +udah,sudah +gak,tidak +duluuu,dulu +diginiin,dibeginikan +nnti,nanti +yaa,ya +hadeehh,aduh +org,orang +pu,punya +suamiiiii,suami +sj,saja +tp,tapi +kliatan,kelihatan +krenn,keren +yg,yang +gw,gue +blg,bilang +kebykan,kebanyakan +pake,pakai +aja,saja +keles,kali +bnyak,banyak +aja,saja +tingal,tinggal +pernikahn,pernikahan +ga,tidak +ngtain,mengatai +da,ada +macem,macam +orang2,orang-orang +nggak,tidak +bgt,banget +klo,kalo +bagusnyeee,bagusnya +bgtt,banget +kemaren,kemarin +yg,yang +yg,yang +yank,sayang +hmpir,hampir +kyak,kayak +ama,sama +dehh,deh +liatnyaaa,lihatnya +waw,wow +mbuh,embuh +bsk,besok +nyari,mencari +yg,yang +aja,saja +yg,yang +jdi,jadi +udh,sudah +sya,saya +baper,bawa perasaan +yaah,ya +waaa,wah +kereenn,keren +berbiiiiiihhh,barbie +canteek,cantik +yahh,ya +gini,begini +aminnnn,amin +aja,saja +udah,sudah +engga,tidak +kebayang,terbayang +gmna,bagaimana +teru,terus +nyatok,mencatok +nyampenya,sampainya +yg,yang +goncengin,boncengkan +blm,belum +kasi,kasih +mba,mbak +mba,mbak +bgt,banget +dianterin,diantar +gebleg,geblek +gw,gue +dianterin,diantarkan +udh,sudah +bosen,bosan +anterin,antar +ama,sama +gw,gue +pengen,pengin +engga,tidak +aja,saja +yg,yang +ngantar,mengantar +nganterin,mengantarkan +nangis,menangis +mz,mas +emg,memang +nerima,menerima +ati2,hati-hati +ntar,entar +diapa2in,diapa-apai +lgi,lagi +beneran,benaran +gak,tidak +yeuh,ya +ga,tidak +dianterin,diantar +kmn,kemana +anterin,antarkan +gak,tidak +kmu,kamu +dianter,diantar +disupirin,disopiri +anterin,antarkan +yg,yang +yg,yang +yg,yang +yg,yang +klo,kalo +bgt,banget +aj,saja +lbh,lebih +trs,terus +jidad,jidat +lbh,lebih +yg,yang +lbh,lebih +yg,yang +lbh,lebih +jangan2,jangan-jangan +yg,yang +yg,yang +yg,yang +yg,yang +ga,tidak +yg,yang +ciee,cie +yg,yang +bln,bulan +novembr,november +yaa,ya +ka,kak +smga,semoga +smpe,sampai +hri,hari +yg,yang +donk,dong +bedain,membedakan +yg,yang +genduut,gendut +ka,kak +yg,yang +yg,yang +ehhh,eh +smua,semua +gak,tidak +yaa,ya +kl,kalo +yg,yang +g,tidak +bertatto,bertato +brrt,berarti +ak,aku +yg,yang +yg,yang +kana,kanan +yg,yang +yg,yang +dtg,datang +doong,dong +yg,yang +bedain,membedakan +yg,yang +yg,yang +yg,yang +sbelah,sebelah +cew,cewek +it,itu +yg,yang +sblah,sebelah +yg,yang +keliatan,kelihatan +yg,yang +tauuu,tau +yg,yang +yg,yang +yg,yang +tengaj,tengah +yg,yang +yg,yang +ka,kak +org,orang +kn,kan +ps,pas +jg,juga +liat,lihat +kk,kakak +dri,dari +k,kak +kn,kan +yg,yang +ad,ada +yg,yang +pke,pakai +kk,kakak +y,ya +yg,yang +gmpg,gampang +bgt,banget +yg,yang +yg,yang +engk,tidak +br,baru +yg,yang +gk,tidak +dr,dari +ak,aku +apal,hapal +dak,indak +ni,ini +rupa2nya,rupa-rupanya +kembaq,kembar +yg,yang +yg,yang +yg,yang +yg,yang +bngt,banget +yg,yang +tngh,tengah +yg,yang +klw,kalau +mknya,makanya +sdkit,sedikit +kyk,kayak +prmpuan,perempuan +yg,yang +pcarny,pacarnya +yg,yang +ketuker,tertukar +gmana,bagaimana +udah,sudah +yg,yang +tu,itu +yg,yang +yg,yang +drimnanya,darimananya +bgt,banget +cntikan,cantikan +gak,tidak +edaaaan,edan +mw,mau +dgn,dengan +dgn,dengan +yg,yang +bngt,banget +syp,siapa +yg,yang +bcnda,bercanda +cantiiik,cantik +ahhh,ah +uhhh,uh +bazengg,bajingan +haiii,hai +bangat,banget +bosaan,bosan +gitu2,begitu-gitu +udah,sudah +pake,pakai +kmana2,kemana-mana +gak,tidak +yuuk,yuk +miripp,mirip +kk,kakak +kyk,kayak +bnget,banget +lg,lagi +kl,kalo +adlh,adalah +dlm,dalam +hrsnya,harusnya +sdh,sudah +krn,karena +bhw,bahwa +yg,yang +bkn,bukan +yg,yang +sdg,sedang +org,orang +yg,yang +yg,yang +jd,jadi +tdk,tidak +krn,karena +gmn,bagaimana +kl,kalo +dgn,dengan +sdh,sudah +ksh,kasih +utk,untuk +kl,kalo +pdhl,padahal +lg,lagi +jd,jadi +dgn,dengan +komentar2,komentar-komentar +yg,yang +kenyataan2,kenyataan-kenyataan +yg,yang +silahkan,silakan +yg,yang +sbg,sebagai +dtg,datang +lwt,lewat +yg,yang +krn,karena +yg,yang +yg,yang +yg,yang +sy,saya +dlm,dalam +sdh,sudah +jd,jadi +sy,saya +spt,seperti +yg,yang +mba,mbak +yg,yang +sy,saya +yg,yang +jd,jadi +sy,saya +tp,tapi +sj,saja +tdk,tidak +sy,saya +krn,karena +sy,saya +sdh,sudah +yg,yang +utk,untuk +jg,juga +sdh,sudah +blg,bilang +org2,orang-orang +dr,dari +gw,gue +blg,bilang +sukur2,sukur-sukur +yg,yang +dpt,dapat +dr,dari +tp,tapi +bener,benar +yg,yang +mba,mbak +dlm,dalam +mba,mbak +aamiin,amin +lg,lagi +gw,gue +ksh,kasih +yg,yang +jg,juga +baek2,baik-baik +hati2,hati-hati +sma,sama +yg,yang +smua,semua +sma,sama +cma,cuma +yg,yang +gak,tidak +nasehatin,menasihati +blm,belum +jg,juga +dgn,dengan +jgn,jangan +krna,karena +hnya,hanya +km,kamu +yg,yang +bener,benar +yaa,ya +jgn,jangan +sama2,sama-sama +dgn,dengan +yg,yang +yg,yang +kl,kalo +utk,untuk +beda2,beda-beda +jgn,jangan +km,kamu +dgn,dengan +berbeda2,berbeda-beda +skrg,sekarang +yg,yang +bkn,bukan +yg,yang +silahkan,silakan +lg,lagi +dgn,dengan +dgn,dengan +yg,yang +dibkatakan,dikatakan +yg,yang +bhw,bahwa +mrk,mereka +yg,yang +doonk,dong +yg,yang +yg,yang +dgn,dengan +ngaku,mengaku +pengikuy,pengikut +tp,tapi +ngmngin,mengomongkan +dr,dari +yg,yang +dmn,dimana +tuch,tuh +u,untuk +org,orang +yg,yang +ngmngin,mengomongkan +gak,tidak +dr,dari +gak,tidak +jgn,jangan +dapet,dapat +sblmnya,sebelumnya +mba,mbak +maksd,maksud +bner,benar +tp,tapi +dr,dari +yg,yang +masing2,masing-masing +adkah,adakah +yg,yang +menbelah,membelah +yg,yang +karna,karena +mba,mbak +ayuk,ayo +yg,yang +mngira,mengira +bertolernsi,bertoleransi +slahkan,salahkan +krna,karena +tolernsi,toleransi +aminn,amin +yg,yang +tdk,tidak +tu,itu +tdk,tidak +yg,yang +dgn,dengan +dgn,dengan +yg,yang +yg,yang +tdk,tidak +yg,yang +skrang,sekarang +sbnarnya,sebenarnya +ingi,ingin +dlm,dalam +dah,deh +oalaaaa,walah +menjelekan,menjelekkan +hadeuuh,aduh +ngomong,mengomong +aja,saja +dikemanain,dikemanakan +pake,pakai +aja,saja +gk,tidak +yg,yang +aneh2,aneh-aneh +km,kamu +gmn,bagaimana +ngak,tidak +yg,yang +ato,atau +yg,yang +jg,juga +trus,terus +jg,juga +bpknya,bapaknya +yg,yang +dgn,dengan +jd,jadi +yg,yang +yg,yang +yg,yang +yg,yang +yg,yang +adlh,adalah +dlm,dalam +tdk,tidak +baca2,baca-baca +ga,tidak +yg,yang +dgn,dengan +lbh,lebih +hrsnya,harusnya +jwb,jawab +sy,saya +dgn,dengan +bkn,bukan +tp,tapi +tdk,tidak +sy,saya +yg,yang +mrk,mereka +yg,yang +gk,tidak +mrk,mereka +adlh,adalah +bkn,bukan +cm,cuma +tp,tapi +jg,juga +org,orang +bs,bisa +kl,kalo +tdk,tidak +tdk,tidak +lbh,lebih +dgn,dengan +tdk,tidak +yg,yang +mba,mbak +tp,tapi +komen2,komen-komen +yg,yang +dgn,dengan +berbeda2,berbeda-beda +pdhl,padahal +dlm,dalam +yg,yang +adlh,adalah +adlh,adalah +yg,yang +kpd,kepada +tdk,tidak +sbg,sebagai +utk,untuk +dr,dari +ga,tidak +yg,yang +sebelum2nya,sebelum-sebelumnya +sbagai,sebagai +masing2,masing-masing +amiin,amin +sedihh,sedih +ka,kak +kangennnn,kangen +smga,semoga +d,di +gndakan,gandakan +kk,kakak +kangeeeeeeeenya,kangen +sm,sama +k,kak +bgt,banget +yg,yang +kngen,kangen +bgtt,banget +sma,sama +gaa,tidak +akn,akan +yg,yang +ganti'kn,menggantikan +smg,semoga +tnang,tenang +amiiiiiiiiiiiiiiiiin,amin +sma,sama +kangennnn,kangen +kgeeeen,kangen +kangeenn,kangen +kangennn,kangen +bangeeeet,banget +smoga,semoga +tnang,tenang +kgn,kangen +hdup,hidup +g,tidak +bsok,besok +hbis,habis +mti,mati +g,tidak +bngetttt,banget +kangeen,kangen +bgect,banget +bangat,banget +dgn,dengan +ama,sama +yah,ya +ajah,saja +aja,saja +ajah,saja +fto,foto +ni,ini +"kebaikan""y",kebaikannya +d,di +trima,terima +smoga,semoga +jg,juga +d,di +dssi,disisi +kngenn,kangen +bngett,banget +kebayang,terbayang +yg,yang +yg,yang +kangeeeeennn,kangen +pengen,pengin +dgr,dengar +lagii,lagi +dasyat,dahsyat +ngak,tidak +karna,karena +ngak,tidak +ni,nih +aer,air +bgni,begini +kk,kakak +sya,saya +pake,pakai +skalii,sekali +kngen,kangen +kk,kakak +ama,sama +org,orang +yg,yang +spt,seperti +alm,almarhum +gg,tidak +dtinggl,ditinggal +kk,kakak +terbaiiikkkkk,terbaik +murahhh,murah +pecahhg,pecah +ihh,ih +skrang,sekarang +yahh,ya +gini,begini +kaka,kakak +kakakgh,kakak +terbaeeeek,terbaik +bet,banget +pngen,pengin +emg,memang +prempuan,perempuan +pengen,pengin +udah,sudah +manteep,mantap +wihh,wih +gk,tidak +yg,yang +ngerii,ngeri +bangettt,banget +dehh,deh +makasih,terima kasih +yg,yang +nggeh,engah +indonesiaaa,indonesia +makasih,terima kasih +beneran,benaran +inia,ini +ap,apa +maluu,malu +sempet,sempat +karna,karena +gk,tidak +cobaaaa,coba +ngerii,ngeri +bangett,banget +dehhh,deh +gak,tidak +akn,akan +nyesel,menyesal +cepetan,cepatan +ga,tidak +nyesel,menyesal +udah,sudah +buktiin,membuktikan +yg,yang +ntapsss,mantap +njir,anjir +kamiiii,kami +yg,yang +bgttt,banget +sll,selalu +smangat,semangat +mb,mbak +bc,baca +makasih,terima kasih +byk,banyak +temen2,teman-teman +yg,yang +yaa,ya +byk,banyak +yg,yang +syg,sayang +aq,aku +qmu,kamu +aq,aku +jdi,jadi +tw,tau +gimana,bagaimana +sdkit2,sedikit-sedikit +tntg,tentang +penyakitny,penyakitnya +gak,tidak +da,ada +yg,yang +gak,tidak +mgkin,mungkin +yg,yang +qmu,kamu +slalu,selalu +slalu,selalu +ngajarin,mengajari +tntg,tentang +pa,apa +krn,karena +smakin,semakin +qmu,kamu +dy,dia +spt,seperti +laenny,lainnya +jga,juga +dri,dari +laenny,lainnya +jga,juga +jga,juga +yach,ya +smoga,semoga +bsa,bisa +dapet,dapat +amiinnn,amin +scpatny,secepatnya +trus,terus +yach,ya +bwt,buat +sampein,sampaikan +bwt,buat +yach,ya +smoga,semoga +slalu,selalu +jdi,jadi +yg,yang +bwt,buat +tuany,tuanya +jdi,jadi +yg,yang +amiiinn,amin +bgt,banget +byk,banyak +amiin,amin +iyaaa,iya +gpp,tidak apa-apa +amiinn,amin +ttp,tetap +slalu,selalu +jdi,jadi +yach,ya +amiiinnn,amin +mudah2an,mudah-mudahan +doa2,doa-doa +yg,yang +utk,untuk +amiiinn,amin +bgttt,banget +pjg,panjang +yahhh,ya +syg,sayang +adeeek,adek +jd,jadi +dr,dari +aminnn,amin +amiin,amin +q,ku +bca,baca +ampe,sampai +netes,menetes +mataq,mataku +q,ku +byangin,membayangkan +trjadi,terjadi +ma,sama +q,aku +skrg,sekarang +pnya,punya +bln,bulan +q,aku +dposisi,diposisi +mgkn,mungkin +q,aku +g,tidak +utk,untuk +q,ku +mba,mbak +spt,seperti +tanda2nya,tanda-tandanya +spt,seperti +dijwb,dijawab +smoga,semoga +yg,yang +orgtuanya,orang tuanya +org,orang +aamiin,amin +smoga,semoga +slalu,selalu +aamiin,amin +mudah2an,mudah-mudahan +amiin,amin +byk,banyak +dr,dari +ga,tidak +tmpt,tempat +anak2,anak-anak +tp,tapi +anak2,anak-anak +dgn,dengan +anak2,anak-anak +yg,yang +dgn,dengan +utk,untuk +tmn2nya,teman-temannya +amiinn,amin +makasih,terima kasih +sayy,sayang +bgt,banget +byk,banyak +dr,dari +q,ku +pgen,pengin +jd,jadi +kyk,kayak +km,kamu +benar2,benar-benar +pgn,pengin +salaam,salam +y,ya +kakk,kak +mba,mbak +nangis,menangis +mba,mbak +yg,yang +jg,juga +sampek,sampai +aq,aku +ngerasain,merasai +yg,yang +rasain,rasai +na,nya +aq,aku +ngajar,mengajar +gmn,bagaimana +dri,dari +yg,yang +yg,yang +yaa,ya +dri,dari +liad,lihat +fto2,foto-foto +ngerasa,merasa +yg,yang +laen,lain +yg,yang +bgt,banget +yaa,ya +yg,yang +dlu,dulu +karna,karena +dallam,dalam +tp,tapi +yg,yang +yg,yang +sudh,sudah +dgn,dengan +orang2,orang-orang +tentanh,tentang +amiin,amin +dasyat,dahsyat +pingin,pengin +nangiss,menangis +bgt,banget +yg,yang +jd,jadi +bgt,banget +karna,karena +nnton,menonton +kejadianny,kejadiannya +tp,tapi +ga,tidak +main2,main-main +yg,yang +kk,kakak +smua,semua +slalu,selalu +yg,yang +slalu,selalu +kk,kakak +klg,keluarga +jd,jadi +yg,yang +kk,kakak +sayaang,sayang +smoga,semoga +slalu,selalu +jd,jadi +kebanggan,kebanggaan +klg,keluarga +jd,jadi +yg,yang +yg,yang +slalu,selalu +org,orang +jd,jadi +jd,jadi +yg,yang +sayaang,sayang +klg,keluarga +pd,pada +msg2,masing-masing +yg,yang +smg,semoga +yg,yang +yg,yang +org,orang +bgt,banget +pd,pada +yg,yang +tp,tapi +hrs,harus +bgt,banget +dr,dari +nyesel,menyesal +bgt,banget +ga,tidak +sblm,sebelum +pdhl,padahal +ngerasa,merasa +ga,tidak +byk,banyak +pgnnya,penginnya +meluk,memeluk +tp,tapi +ga,tidak +mudah2an,mudah-mudahan +kata2nya,kata-katanya +gak,tidak +lg,lagi +duhh,duh +bangeet,banget +siiihhh,sih +mupeng,muka pengin +baper,bawa perasaan +trus,terus +gini,begini +gitu,begitu +caya,percaya +pingin,pengin +kpn,kapan +km,kamu +mna,mana +ny,nya +d,di +yg,yang +bgt,banget +yg,yang +kek,kayak +gini,begini +gak,tidak +liat,lihat +aduhhhhhhhhh,aduh +bangettt,banget +buseett,buset +gitu,begitu +mblo,jomblo +nyari,mencari +yg,yang +bgini,begini +km,kamu +kek,kayak +gini,begini +gini,begini +bkin,bikin +ga,tidak +bgt,banget +yaa,ya +males,malas +njir,anjir +lucuuu,lucu +gagahx,gagahnya +miriiiip,mirip +kaliiii,kali +miriiiip,mirip +bgt,banget +ky,kaya +wahh,wah +bgt,banget +yakk,ya +ga,tidak +niru,meniru +bpknya,bapaknya +mudah2an,mudah-mudahan +bpkmu,bapakmu +aje,saja +aq,aku +sangt,sangat +kmn,kemana +dgn,dengan +slm,salam +gak,tidak +baang,bang +gasih,tidak sih +kasian,kasihan +gak,tidak +pake,pakai +mba,mbak +bgt,banget +yuu,yuk +yg,yang +aqu,aku +yuuu,yuk +cantiik,cantik +yukk,yuk +rb,ribu +aja,saja +cantikk,cantik +gantengg,ganteng +kt,kita +bgt,banget +seneng,senang +liat,lihat +samaa,sama +seneng,senang +liatnya,lihatnya +ngademin,mengademkan +aahh,ah +ngiri,mengiri +pengen,pengin +gini,begini +kakkk,kak +ayuk,ayo +yukk,yuk +kakk,kak +makasi,terima kasih +looo,loh +gak,tidak +pake,pakai +utk,untuk +yg,yang +yg,yang +ga,tidak +nyesel,menyesal +uda,sudah +keluarin,keluarkan +yokk,yuk +ayoook,ayo +gini,begini +gils,gila +kek,kayak +aja,saja +ono,sono +ama,sama +pke,pakai +kpn,kapan +kek,kayak +gni,begini +nggak,tidak +trs,terus +trus,terus +gini,begini +weeeh,wih +bagiin,membagikan +suksea,sukses +kaa,kak +temenan,berteman +yah,ya +temenan,berteman +bsa,bisa +sehh,sih +deket,dekat +bgt,banget +temen,teman +dekt,dekat +ihh,ih +bgtt,banget +genggg,geng +bsok,besok +gtu,begitu +yawloh,ya allah +gimana,bagaimana +gak,tidak +gak,tidak +gini,begini +njirr,anjir +bhnya,bahannya +km,kamu +dlu,dulu +anjirrrr,anjir +cucokkk,cocok +loo,loh +samaaaa,sama +gak,tidak +nyangka,menyangka +dlm,dalam +yaaa,ya +abanggku,abangku +sayanggg,sayang +lagii,lagi +dsni,disini +ajaa,saja +silahkan,silakan +ciieeeeeee,cie +kokohh,engkoh +cieeeee,cie +sukaaa,suka +pdhal,padahal +takuttt,takut +yuks,yuk +yah,ya +yng,yang +kmrn,kemarin +bg,bang +kmrn,kemarin +bg,bang +pnjual,penjual +yh,ya +gak,tidak +ahhh,ah +sma,sama +ga,tidak +dung,dong +latian,latihan +yaaaa,ya +bgt,banget +ampe,sampai +lgsg,langsung +aaaaaaakkk,ah +mauuuu,mau +yg,yang +ga,tidak +soga,moga +kmu,kamu +gak,tidak +yg,yang +gitu,begitu +kngen,kangen +pngen,pengin +tteh,teteh +sintron,sinetron +pake,pakai +astagaa,astaga +w,gue +ancurrr,hancur +ap,apa +td,tadi +iaa,iya +liat,lihat +dblkang,dibelakang +yayang,sayang +y,ya +yah,ya +ginian,beginian +gimna,bagaimana +bingit,banget +kmu,kamu +gokillllll,gila +yg,yang +gokillllll,gila +kk,kakak +cntik,cantik +bgtt,banget +aplks,aplikasi +pengen,pengin +nyoba,mencoba +yg,yang +dongg,dong +makasi,terima kasih +pling,paling +ska,suka +denger,dengar +ktawa,ketawa +amiin,amin +hrs,harus +aamiin,amin +yaa,ya +gini,begini +aamiin,amin +amiin,amin +pengen,pengin +baguuus,bagus +aamiin,amin +ntar,entar +ayoook,ayo +udah,sudah +kaaan,kan +ihhh,ih +banged,banget +yok,yuk +pgn,pengin +gini,begini +mauuuuu,mau +ngepoin,mengepoi +uuhh,uh +ngakak,mengakak +gitu,begitu +bgt,banget +bgt,banget +dah,deh +pengen,pengin +beut,banget +baper,bawa perasaan +gw,gue +gw,gue +skrg,sekarang +sampe,sampai +duhh,duh +njirrr,anjir +duhh,duh +baper,bawa perasaan +ngiri,mengiri +pengeeenn,pengin +bgt,banget +yak,ya +g,tidak +bosen,bosan +liat,lihat +dongggg,dong +gini,begini +trs,terus +trs,terus +nyampe,sampai +g,tidak +bosen,bosan +liatnya,lihatnya +qu,ku +qu,ku +gak,tidak +pengen,pengin +hatii,hati +aja,saja +laa,lah +besook,besok +ahh,ah +aq,aku +mauu,mau +gtuu,begitu +gara2,gara-gara +maen,main +yg,yang +njayyy,anjay +ngakak,mengakak +elu,lu +maacih,terima kasih +tokayyy,tahi +yg,yang +taun,tahun +to,tapi +mksdku,maksudku +knp,kenapa +gw,gue +gituin,begitukan +lgsung,langsung +cba,coba +gk,tidak +nh,nih +bgt,banget +klo,kalo +lg,lagi +gituin,begitukan +gak,tidak +yah,ya +gak,tidak +"ilang""",hilang-hilang +giniin,beginikan +aja,saja +ksini,kesini +kaaa,kak +kubarikan,kuberikan +aq,aku +giniin,beginikan +ayank,sayang +anyeng,anjing +skali,sekali +bng,bang +njirrr,anjir +lgi,lagi +ngapain,mengapai +kya,kaya +gx,tidak +yankkk,sayang +aja,saja +d,di +cukurrr,cukur +gilaaaaaa,gila +aja,saja +yah,ya +ga,tidak +tu,itu +pala,kepala +klau,kalau +bgt,banget +kaka,kakak +yhaaa,ya +qaqaaaa,kakak +sayangkuuuuu,sayangku +kakakuuu,kakakku +dh,deh +orng,orang +kk,kakak +rb,ribu +klau,kalau +rb,ribu +yah,ya +bangett,banget +bgt,banget +gini,begini +naksir,menaksir +pake,pakai +pake,pakai +rekomendasiin,merekomendasikan +gak,tidak +banx,bang +utk,untuk +edannn,edan +pake,pakai +udah,sudah +nggk,tidak +thn,tahun +thn,tahun +makasih,terima kasih +udh,sudah +ksh,kasih +bangett,banget +ga,tidak +lg,lagi +liat,lihat +bs,bisa +bape,bawa perasaan +skrg,sekarang +yg,yang +"artis""",artis-artis +naksir,menaksir +ngelahirin,melahirkan +paksain,memaksa +biasaa,biasa +pengen,pengin +besarin,membesarkan +hub,hubungi +aja,saja +makasih,terima kasih +saranin,menyarankan +ga,tidak +udah,sudah +saranin,menyarankan +bangett,banget +saranin,menyarankan +skrg,sekarang +ga,tidak +nyesel,menyesal +aja,saja +makasih,terima kasih +yaa,ya +hubunggi,hubungi +gak,tidak +loooh,loh +kek,kayak +telimakacih,terima kasih +telimakacih,terima kasih +bngt,banget +keliatan,kelihatan +yuuk,yuk +nerawang,menerawang +alloh,allah +cantiiiik,cantik +ga,tidak +didapet,didapat +tanya2,tanya-tanya +dapetin,mendapati +gak,tidak +pede,percaya diri +gara2,gara-gara +ga,tidak +utk,untuk +smoga,semoga +ttp,tetap +aminn,amin +kuningggg,kuning +kk,kakak +mz,mas +mb,mbak +emg,memang +keliatan,kelihatan +nyolot,menyolot +donk,dong +kk,kakak +udah,sudah +aja,saja +sihhh,sih +tu,itu +cantikkk,cantik +kakk,kakak +ska,suka +ko,kok +gak,tidak +yah,ya +org,orang +indo,indonesia +lgsg,langsung +kyk,kayak +gini,begini +ga,tidak +ga,tidak +yg,yang +liat,lihat +ad,ada +d,di +bangat,banget +aja,saja +ni,ini +elahh,alah +ngaca,mengaca +gk,tidak +pd,pada +ga,tidak +pnting,penting +pnya,punya +dlm,dalam +ga,tidak +ga,tidak +bela2in,membela-bela +smpe,sampai +marah2an,marah-marahan +prnh,pernah +wlaupun,walaupun +syantiiiiikkkkkkkkkkkk,cantik +punyaaa,punya +aja,saja +gk,tidak +yg,yang +nd,indak +ush,usah +"bwa""",bawa-bawa +agma,agama +subahanallah,subhanallah +cantikk,cantik +bgt,banget +pke,pakai +hijabb,hijab +engga,tidak +bangettttt,banget +kerrennn,keren +ga,tidak +makasih,terima kasih +udah,sudah +rekomendasiin,merekomendasikan +jd,jadi +lbih,lebih +dr,dari +ngetik,mengetik +ntr,entar +ntah,entah +pan,kapan +aja,saja +mateeeek,mati +mba,mbak +yah,ya +sma,sama +kl,kalo +gimana,bagaimana +geetoo,begitu +ginian,beginian +ga,tidak +diginiin,dibeginikan +ntr,entar +sewain,menyewa +kokkk,kok +muluuu,melulu +kaka,kakak +yaaang,yang +iyaa,iya +ntar,entar +dbuat,dibuat +gituu,begitu +yappp,ya +msih,masih +thn,tahun +lg,lagi +uwahhhhh,wah +g,tidak +bs,bisa +lbh,lebih +lg,lagi +bnr2,benar-benar +psgn,pasangan +yg,yang +cocokkk,cocok +dr,dari +ujg,ujung +rmbut,rambut +smp,sampai +kki,kaki +kgn,kangen +liat,lihat +liat,lihat +kgn,kangen +mreka,mereka +yg,yang +dlu,dulu +yg,yang +pengen,pengin +y,ya +hayukk,hayo +gini,begini +segitunya,sebegitunya +pngn,pengin +ntab,mantab +mauu,mau +atuhhh,atuh +yukss,yuk +lihaatttt,lihat +yg,yang +ayoo,ayo +niiiihh,nih +liattt,lihat +cuyyy,cuy +dr,dari +gapernah,tidak pernah +bosen,bosan +liatiii,lihat +jombsss,jomblo +emesshhh,gemas +gemeessss,gemas +poollll,pol +gemesyak,gemas ya +pengen,pengin +gini,begini +bgtttt,banget +ko,kok +klo,kalo +kyk,kayak +gini,begini +yaaa,ya +cntiknya,cantiknya +yaaa,ya +lucuuu,lucu +bngttt,banget +ngegmesin,menggemaskan +hndak,hendak +kh,kah +hndk,hendak +iiih,ih +lutunaa,lucunya +lucuuu,lucu +abiz,habis +bkin,bikin +gemes,gemas +ngga,tidak +ngareppppp,mengharap +aamiinin,amin +aja,saja +aq,aku +lht,lihat +fhoto,foto +yg,yang +imuutt,imut +abizzz,habis +jgn,jangan +tay,tahi +nyaaa,nya +bgt,banget +yg,yang +toketnya,teteknya +sampe,sampai +tumpe2,tumpah-tumpah +lenje,lenjeh +tuuuuh,tuh +cantinya,cantiknya +bgt,banget +gw,gue +kl,kalo +krn,karena +yg,yang +gw,gue +ga,tidak +aneh2,aneh-aneh +ga,tidak +macam2,macam-macam +ga,tidak +yg,yang +"mbak""",mbak-mbak +ngatain,mengatai +lucuu,lucu +bgt,banget +mbaknyaahh,mbaknya +pyudara,payudara +gak,tidak +gk,tidak +ky,kaya +yg,yang +lenje,lenjeh +ap,apa +ajah,saja +bgt,banget +tu,itu +yg,yang +tu,itu +cewe,cewek +lenje,lenjeh +ngatain,mengatai +lenje,lenjeh +lenje,lenjeh +lenje,lenjeh +gak,tidak +gak,tidak +ditutupin,ditutupi +tp,tapi +gk,tidak +pake,pakai +tp,tapi +gak,tidak +bgitu,begitu +yaa,ya +ngomongnya,mengomongnya +gak,tidak +km,kamu +bgt,banget +pengen,pengin +sich,sih +cntik,cantik +bgt,banget +bgt,banget +bnget,banget +cantiik2,cantik-cantik +dech,deh +hati.a,hatinya +blm,belum +mk.a,makanya +gt,begitu +mlt.a,mulutnya +nyerocooooos,mencerocos +trus,terus +blg,bilang +tuk,untuk +org,orang +kyk.a,kayaknya +wkt,waktu +sklh,sekolah +dl,dulu +pljrn,pelajaran +srng,sering +ga,tidak +msk,masuk +yaaa,ya +org,orang +ngilang,menghilang +dikatain,dikatai +maluuu,malu +yaaaa,ya +yg,yang +ngalahin,mengalahkan +tu,itu +ap,apa +kk,kakak +brisi,berisi +tp,tapi +ttp,tetap +kk,kakak +cntik,cantik +ap,apa +ga,tidak +pake,pakai +aja,saja +loo,loh +kk,kakak +laa,lah +pkoknya,pokoknya +kk,kakak +slm,salam +knl,kenal +canti,cantik +y,ya +q,aku +kk,kakak +kk,kakak +astagfirullh,astagfirullah +nutupin,menutupi +amiin,amin +cntik,cantik +liat,lihat +hub,menghubungi +kmn,kemana +klo,kalo +bs,bisa +indo,indonesia +ni,ini +dung,dong +ori,orisinal +yu,yuk +bgt,banget +kakakaaaaaaaaaaaaaa,kakak +kaka,kakak +cantikkkkkkkk,cantik +cantiq,cantik +batwc,banget +kamyuhhh,kamu +yukk,yuk +dbwh,dibawah +rb,ribu +cantikk,cantik +sampe,sampai +pake,pakai +ga,tidak +yuuuk,yuk +yaa,ya +seneng,senang +yg,yang +padet,padat +gara2,gara-gara +makasih,terima kasih +yaa,ya +bukti2,bukti-bukti +bener,benar +say,sayang +gak,tidak +senenggg,senang +yg,yang +yukk,yuk +dr,dari +ngga,tidak +makasih,terima kasih +yaaa,ya +gak,tidak +pede,percaya diri +pengen,pengin +dapetin,mendapati +kepoin,mengepoi +ajaa,saja +belanjaa,belanja +disiniii,disini +hay,hai +temen2,teman-teman +mao,mau +tp,tapi +yg,yang +gak,tidak +murhan,murahan +yah,ya +prwtn,perawatan +wjh,wajah +yg,yang +bgettt,banget +dr,dari +negri,negeri +yg,yang +utk,untuk +bs,bisa +prwtn,perawatan +utk,untuk +mereka2,mereka-mereka +yg,yang +jg,juga +pakke,pakai +uda,sudah +pd,pada +pake,pakai +byk,banyak +prwtn,perawatan +yg,yang +utk,untuk +jgn,jangan +yah,ya +yg,yang +utk,untuk +dipake,dipakai +ga,tidak +bkin,bikin +ktergantungan,ketergantungan +dapet,dapat +tp,tapi +yg,yang +pake,pakai +utk,untuk +prwatn,perawatan +wjh,wajah +dr,dari +org,orang +jg,juga +uda,sudah +pake,pakai +ngebuktiin,membuktikan +hslnya,hasilnya +dr,dari +mrk,mereka +yg,yang +uda,sudah +pake,pakai +utk,untuk +awal2,awal-awal +ga,tidak +setabil,stabil +temen2,teman-teman +nyoba,mencoba +ihh,ih +beneran,benaran +ga,tidak +temen2,teman-teman +maksih,terima kasih +yah,ya +ga,tidak +gratiss,gratis +gak,tidak +ka,kak +kaka,kakak +gak,tidak +udah,sudah +rekomendasiin,merekomendasikan +tetep,tetap +bbrpa,beberapa +"gara""",gara-gara +yg,yang +"benar""",benar-benar +buktiin,membuktikan +ajaibb,ajaib +aja,saja +ga,tidak +nyangka,menyangka +seneng,senang +pokonya,pokoknya +mksh,terima kasih +setujuuu,setuju +klo,kalo +digituin,dibegitukan +klw,kalau +ank,anak +gak,tidak +mw,mau +sekolahin,sekolahkan +ajarin,ajarkan +sendirii,sendiri +sendirii,sendiri +akn,akan +mrnghadapi,menghadapi +yg,yang +dr,dari +yg,yang +dr,dari +tp,tapi +bgmn,bagaimana +apalg,apalagi +naka,nakal +tdk,tidak +jd,jadi +sdkt,sedikit +aja,saja +besar2in,besar-besarkan +cb,coba +dech,deh +mbk,mbak +bgmana,bagaimana +s*inetr*n,sinetron +yg,yang +yg,yang +bs,bisa +mrusak,merusak +yg,yang +cm,cuma +ttg,tentang +gak,tidak +sm,sama +yg,yang +d,di +sbg,sebagai +tdk,tidak +ka,kak +sy,saya +jd,jadi +jd,jadi +sy,saya +mndpt,mendapat +dr,dari +pst,pasti +sy,saya +skt,sakit +tp,tapi +tdk,tidak +jgn,jangan +yg,yang +sebnyak,sebanyak +dpn,depan +org,orang +yg,yang +yg,yang +terburu2,terburu-buru +baik2,baik-baik +nanya,bertanya +sampe,sampai +udah,sudah +udah,sudah +ngumpat2,mengumpat-ngumpat +nantangin,menantang +aja,saja +gtu,begitu +ngegampar,menggampar +anak2,anak-anak +gitu,begitu +wktu,waktu +d,di +pake,pakai +pake,pakai +trs,terus +d,di +gada,tidak ada +org,orang +yg,yang +sampe,sampai +ngelaporin,melaporkan +yg,yang +d,di +salahin,salahkan +krna,karena +yg,yang +gabisa,tidak bisa +gada,tidak ada +yg,yang +ni,ini +jd,jadi +yg,yang +hnya,hanya +orng,orang +yg,yang +konsekwensi,konsekuensi +muliany,mulianya +bkn,bukan +kl,kalo +mungki,mungkin +tp,tapi +kl,kalo +bs,bisa +jgn,jangan +lngsung,langsung +tp,tapi +sj,saja +tsb,tersebut +u,untuk +jg,juga +ad,ada +sbg,sebagai +t4,tempat +bacahalah,bacalah +yaak,ya +dikerasin,dikerasi +trus,terus +lgsg,langsung +gtu,begitu +skrg,sekarang +udh,sudah +dikerasin,dikerasi +gk,tidak +skrg,sekarang +gkkan,tidak akan +ngulangin,mengulangi +lebayy,lebay +bgt,banget +lgsg,langsung +org,orang +yg,yang +jgn,jangan +gk,tidak +sendirii,sendiri +ajaa,saja +bedaa,beda +skrg,sekarang +sm,sama +pnyaa,punya +gk,tidak +sendirii,sendiri +yaa,ya +gk,tidak +bol3h,boleh +pake,pakai +gak,tidak +org,orang +ngadu,mengadu +ketauan,ketahuan +ma,sama +org,orang +dimarahin,dimarahi +manjain,memanjakan +org,orang +manjain,memanjakan +gt,begitu +aja,saja +ma,sama +skrng,sekarang +sdh,sudah +krn,karena +manjain,memanjakan +gini,begini +krn,karena +yg,yang +gak,tidak +sm,sama +yg,yang +dgn,dengan +jg,juga +org,orang +yg,yang +yg,yang +utk,untuk +yg,yang +bs,bisa +bs,bisa +sm,sama +gk,tidak +utk,untuk +boleh2,boleh-boleh +dgn,dengan +yg,yang +hallo,halo +gak,tidak +nyelesain,menyelesaikan +troma,trauma +kerasin,kerasi +jdi,jadi +jgn2,jangan-jangan +mcm,macam +bgni,begini +ngomong,mengomong +sj,saja +ga,tidak +emg,memang +sm,sama +sy,saya +kamu2,kamu-kamu +cewer,jewer +bilanh,bilang +gak,tidak +kasi,kasih +gak,tidak +tdk,tidak +ngapain,mengapa +sy,saya +org,orang +yg,yang +sdh,sudah +yg,yang +jwban,jawaban +org2,orang-orang +mmg,memang +yg,yang +skg,sekarang +gak,tidak +gak,tidak +nuduh,menuduh +gak,tidak +nuduh,menuduh +suk,suka +emang,memang +emang,memang +ngatur,mengatur +yg,yang +gmna,bagaimana +msih,masih +sampe,sampai +skrg,sekarang +org,orang +rajin2,rajin-rajin +sy,saya +tpi,tapi +sy,saya +sy,saya +sm,sama +ga,tidak +bacaaaa,baca +gw,gue +kekk,kayak +jungkiir,jungkir +kekk,kayak +ga,tidak +gunaa,guna +bales2in,balas-membalas +orangg,orang +ga,tidak +kerjaan,pekerjaan +laen,lain +ajaa,saja +yg,yang +yaaaa,ya +dr,dari +tauuuu,tau +bls,balas +skg,sekarang +ga,tidak +yaa,ya +ni,nih +koment,komentar +emang,memang +yg,yang +tdk,tidak +km,kamu +untk,untuk +tp,tapi +tdk,tidak +ank,anak +byak,banyak +kepad,kepada +ank,anak +bantuanny,bantuannya +bkn,bukan +ttinggi,tinggi +dg,dengan +yg,yang +bgt,banget +jgn,jangan +smpe,sampai +yg,yang +d,di +ajah,saja +gara2,gara-gara +perna,pernah +d,di +cmn,cuman +grgr,gara-gara +g,tidak +jari2,jari-jari +d,di +pukulin,pukuli +pake,pakai +yg,yang +smpe,sampai +jd,jadi +bengkak2,bengkak-bengkak +bgs,bagus +jgn,jangan +smpe,sampai +ank,anak +sm,sama +sperti,seperti +kasian,kasihan +klo,kalo +g,tidak +d,di +komentarin,komentari +jgn,jangan +d,di +jd,jadi +bijak2,bijak-bijak +dlm,dalam +ga,tidak +ga,tidak +yg,yang +lama2,lama-lama +yg,yang +ga,tidak +menurur,menurut +tipe2,tipe-tipe +anak2,anak-anak +anak2,anak-anak +diliat,dilihat +liatlah,lihatlah +teguran2,teguran-teguran +yg,yang +gr2,gara-gara +d,di +skrg,sekarang +gamau,tidak mau +skolah,sekolah +pdahal,padahal +msh,masih +klas,kelas +krena,karena +tkut,takut +grunya,gurunya +skrg,sekarang +pndah,pindah +tdk,tidak +bs,bisa +hrs,harus +ortu,orang tua +dlm,dalam +udh,sudah +ngerasain,merasai +tp,tapi +dlm,dalam +org,orang +yg,yang +bs,bisa +bs,bisa +liat2,lihat-lihat +tp,tapi +ga,tidak +masukin,memasukkan +org,orang +dilindungin,dilindungi +yg,yang +trs,terus +jagain,menjaga +org,orang +kasiaannn,kasihan +kmu,kamu +yg,yang +miring2,miring-miring +jd,jadi +dech,deh +baek,baik +ajja,saja +yg,yang +tinggalin,tinggalkan +ga,tidak +gini,begini +klo,kalo +dri,dari +ttg,tentang +yg,yang +kmu,kamu +ga,tidak +klo,kalo +ksh,kasih +dlm,dalam +kaitannha,kaitannya +ama,sama +yg,yang +pd,pada +sud,sudah +silahkan,silakan +yg,yang +pinter,pintar +dgn,dengan +yg,yang +rana,ranah +sampw,sampai +rana,ranah +thdp,terhadap +knp,kenapa +tsb,tersebut +yg,yang +krn,karena +scr,secara +yg,yang +tdk,tidak +utk,untuk +tsb,tersebut +yg,yang +mrk,mereka +pdhl,padahal +yg,yang +bhkn,bahkan +utk,untuk +spy,supaya +tdk,tidak +mrk,mereka +yg,yang +jgn,jangan +kpd,kepada +mrk,mereka +mrk,mereka +knp,kenapa +mrk,mereka +justeru,justru +sbg,sebagai +utk,untuk +yg,yang +klo,kalo +apah,apa +dak,indak +ngatai,mengatai +kln,kalian +sukak,suka +ahh,ah +alloh,allah +ihh,ih +ngajar,mengajar +termuraaahhhh,termurah +udh,sudah +brkunjun,berkunjung +d,di +bgt,banget +bgt,banget +yg,yang +suarranya,suaranya +dri,dari +sihh,sih +bgt,banget +klo,kalo +"bner""",benar-benar +suarranya,suaranya +iu,itu +bgussss,bagus +kmaren,kemarin +ambilin,mengambil +yg,yang +syg,sayang +dgn,dengan +yg,yang +sy,saya +ttg,tentang +mdh2an,mudah-mudahan +anak2,anak-anak +mmg,memang +anak2,anak-anak +dgn,dengan +biasaaaa,biasa +luuuaar,luar +yg,yang +ortu,orang tua +dg,dengan +bngt,banget +sma,sama +yaa,ya +seneng,senang +kereenn,keren +bgt,banget +bgtt,banget +ma,sama +km,kamu +yg,yang +redho,ridho +rezki,rezeki +yg,yang +kepd,kepada +org,orang +luaarrr,luar +biasaaa,biasa +kaka,kakak +jadilh,jadilah +org,orang +yg,yang +org,orang +na,nya +kata2nya,kata-katanya +bnr,benar +terhaaru,terharu +slalu,selalu +kaka,kakak +ttg,tentang +orrunya,orang tuanya +udah,sudah +bnyak,banyak +aj,saja +ortu,orang tua +ga,tidak +org,orang +kyak,kayak +gmn,bagaimana +pke,pakai +klo,kalo +koment,komentar +it,itu +koment,komentar +bnget,banget +ama,sama +bgt,banget +ma,sama +bgt,banget +bgt,banget +ama,sama +kka,kakak +dri,dari +flm,film +ampe,sampai +skrang,sekarang +pake,pakai +mb,mbak +kalok,kalo +adek2,adek-adek +jd,jadi +sndri,sendiri +dr,dari +km,kamu +km,kamu +rb,ribu +kk,kakak +tteh,teteh +knpa,kenapa +gak,tidak +loncatt,loncat +aja,saja +hampasss,hempas +lagiii,lagi +cantiiik,cantik +dlu,dulu +kt,kita +kyk,kayak +gini,begini +aja,saja +yaa,ya +cantikk,cantik +tehh,teh +bunga2,bunga-bunga +apaaan,apaan +lagiii,lagi +ampuuunn,ampun +daaah,dah +skali,sekali +yg,yang +sma,sama +gini,begini +bangetttttt,banget +ituh,itu +cantikk,cantik +cantikk,cantik +cantiiikk,cantik +udh,sudah +msh,masih +bgt,banget +bgt,banget +gak,tidak +gak,tidak +diliat,dilihat +km,kamu +liat,lihat +kereen,keren +suaranyaaaaaa,suaranya +bener2,benar-benar +idoolaaa,idola +ga,tidak +ga,tidak +udah,sudah +bgt,banget +pake,pakai +bangettt,banget +pulaa,pula +penyanyi2,penyanyi-penyanyi +beneran,benaran +yg,yang +wiih,wih +iyaa,iya +apaa,apa +miriip,mirip +tp,tapi +lbh,lebih +jd,jadi +aja,saja +bs,bisa +jd,jadi +emang,memang +blm,belum +dr,dari +yah,ya +uhhh,uh +bet,banget +kaaaa,kak +kaa,kak +sayanggg,sayang +kaa,kak +liat,lihat +allaahh,allah +ajahhh,saja +ajaaa,saja +trims,terima kasih +yah,ya +dehat,sehat +aminnnnn,amin +bgt,banget +bgt,banget +salammmm,salam +hari2,hari-hari +yg,yang +sihat,sehat +aminnn,amin +yg,yang +aja,saja +pengen,pengin +yg,yang +ayoo,ayo +buruann,buruan +d,di +makasih,terima kasih +udh,sudah +saranin,menyarankan +pake,pakai +jd,jadi +gak,tidak +lg,lagi +jd,jadi +pede,percaya diri +skrng,sekarang +mksh,terima kasih +silahkan,silakan +yg,yang +yg,yang +rekomendain,rekomendasikan +kaka,kakak +makasih,terima kasih +cntik,cantik +bngt,banget +trussss,terus +yah,ya +tp,tapi +blm,belum +tdk,tidak +yukk,yuk +cpt,cepat +kmi,kami +kakakuuu,kakakku +aamiin,amin +bgt,banget +yukk,yuk +ngalir,mengalir +teruss,terus +lohh,loh +bangt,banget +ga,tidak +ga,tidak +karna,karena +cepet,cepat +pesen,pesan +bgt,banget +pengen,pengin +gak,tidak +beneran,benaran +ga,tidak +nyesel,menyesal +rekomendasiin,merekomendasikan +kaka,kakak +kaka,kakak +gak,tidak +nyesel,menyesal +udah,sudah +rekomendasiin,merekomendasikan +ga,tidak +pede,percaya diri +makasih,terima kasih +boong,bohong +ktmu,ketemu +ga,tidak +nyangka,menyangka +pake,pakai +hub,hubungi +makasih,terima kasih +ksh,kasih +jd,jadi +gak,tidak +lg,lagi +pake,pakai +mksh,terima kasih +utk,untuk +jgn,jangan +yah,ya +yg,yang +dr,dari +bkn,bukan +prwtn,perawatan +jg,juga +pake,pakai +ak,aku +udh,sudah +pake,pakai +byk,banyak +yg,yang +udh,sudah +ngebuktiin,membuktikan +yah,ya +dr,dari +ak,aku +prawatan,perawatan +utk,untuk +lbh,lebih +mbk,mbak +aj,saja +y,ya +mkin,makin +cntk,cantik +sj,saja +yg,yang +gak,tidak +mo,mau +pnya,punya +gak,tidak +mslh,masalah +dimao,dimau +gak,tidak +hrs,harus +klo,kalo +cm,cuma +utk,untuk +dapetin,mendapati +wjh,wajah +pantes,pantas +dijadiin,dijadikan +prwtn,perawatan +dr,dari +udah,sudah +yg,yang +yg,yang +ny,nya +uda,sudah +pd,pada +pake,pakai +silahkn,silakan +dl,dulu +ak,aku +ajha,saja +utk,untuk +silahkan,silakan +kaka,kakak +yuuk,yuk +kasiatnya,khasiatnya +iyah,iya +nyaranin,menyarankan +rekomendasiin,merekomendasikan +udah,sudah +"minyak""an",minyak-minyakan +gitu,begitu +ga,tidak +pake,pakai +bgt,banget +gak,tidak +suksess,sukses +slalu,selalu +ka,kak +jg,juga +gak,tidak +seneng,senang +ka,kak +makasih,terima kasih +udh,sudah +rekomendasiin,merekomendasikan +pede,percaya diri +ga,tidak +nyangka,menyangka +prodak,produk +prodak,produk +ga,tidak +nyesel,menyesal +ga,tidak +trasa,terasa +minpi,mimpi +bner2,benar-benar +gak,tidak +nyangka,menyangka +gak,tidak +mutihin,memutihkan +ak,aku +gak,tidak +ka,kak +gak,tidak +makasih,terima kasih +gak,tidak +th,tahun +udh,sudah +jd,jadi +th,tahun +msh,masih +smster,semester +sdh,sudah +th,tahun +udah,sudah +woww,wow +ntar,entar +thn,tahun +emang,memang +th,tahun +uga,juga +kmren,kemarin +lucuu,lucu +ucull,lucu +aamiin,amin +"ngomong""",ngomong-ngomong +thn,tahun +udehh,sudah +sampe,sampai +skrang,sekarang +ucul,lucu +bnr,benar +lucuk,lucu +smg,semoga +lucuu,lucu +lucuuu,lucu +bgt,banget +bkn,bukan +yaaa,ya +jan,jangan +jd,jadi +yaa,ya +thn,tahun +masi,masih +pakek,pakai +pake,pakai +kk,kakak +pakek,pakai +orng,orang +orng,orang +pakek,pakai +yah,ya +kk,kakak +ka,kak +klo,kalo +pke,pakai +cntik,cantik +syngnya,sayangnya +klo,kalo +bnr,benar +pake,pakai +tauu,tau +dipermainin,dipermainkan +bngt,banget +kl,kalo +kasiatnya,khasiatnya +kocakkk,kocak +pake,pakai +hijabb,hijab +dasarrr,dasar +ajaaa,saja +tp,tapi +jgn,jangan +waaaaw,wow +bngt,banget +kk,kakak +klau,kalau +cannnnntikkkkkkk,cantik +bangettt,banget +mukax,mukanya +gitu,begitu +cantikx,cantiknya +fatanik,fanatik +bngt,banget +mba,mbak +jgn,jangan +pake,pakai +protestin,protestan +bkn,bukan +protestin,protestan +kakau,kalau +yg,yang +kk,kakak +slh,salah +marh,marah +kk,kakak +bener,benar +ka,kak +pk,pakai +ka,kak +emngnya,memangnya +pakek,pakai +cantiknyaa,cantiknya +klo,kalo +pke,pakai +darpada,daripada +bgt,banget +cooooooocok,cocok +klw,kalau +pkk,pakai +jgn,jangan +ka,kak +kaka,kakak +kaka,kakak +sling,saling +pake,pakai +ga,tidak +kk,kakak +pake,pakai +agama'ny,agamanya +yg,yang +bilng,bilang +tp,tapi +aq,aku +gk,tidak +prcy,percaya +klw,kalau +kk,kakak +kk,kakak +org,orang +pantes,pantas +emang,memang +tetep,tetap +lurusin,meluruskan +kk,kakak +pake,pakai +gak,tidak +gimana,bagaimana +gak,tidak +aja,saja +aja,saja +tp,tapi +bgt,banget +d,di +pake,pakai +aja,saja +biri,biru +bgt,banget +d,di +pake,pakai +jd,jadi +yg,yang +nti,nanti +aamiin,amin +kaa,kak +gmn,bagaimana +blm,belum +prnh,pernah +yg,yang +pake,pakai +luco,lucu +woow,wow +aq,aku +jg,juga +ultha,ultah +aja,saja +yuuu,yuk +batikk,batik +alloh,allah +q,ku +jdi,jadi +gemes,gemas +yg,yang +aja,saja +pake,pakai +arab2,arab-arab +sm,sama +yg,yang +arab2,arab-arab +gitu,begitu +kl,kalo +udah,sudah +yg,yang +pake,pakai +aja,saja +makasi,terima kasih +donk,dong +aja,saja +jd,jadi +yg,yang +blm,belum +dipake,dipakai +ama,sama +anak2,anak-anak +yg,yang +aja,saja +syg,sayang +udh,sudah +ga,tidak +lg,lagi +udh,sudah +luchu,lucu +pake,pakai +baguss,bagus +lucuuuu,lucu +bgt,banget +jd,jadi +aja,saja +ajah,saja +aja,saja +abes,habis +duhh,duh +liat,lihat +sedihhh,sedih +yeee,ya +syang,sayang +pinter,pintar +ngasi,mengasih +liat,lihat +gasih,tidak sih +qta,kita +mo,mau +nda,indak +sm,sama +cb,coba +anak2,anak-anak +pengen,pengin +naaaak,nak +jgn,jangan +astagaa,astaga +ngakak,mengakak +akuuu,aku +astafirullah,astagfirullah +msuk,masuk +peragain,peragakan +shayyy,say +anjaayy,anjay +shay,say +ga,tidak +ngilerrrr,mengiler +trus,terus +d,di +jgn,jangan +shay,say +bayangin,bayangkan +gak,tidak +woyyy,woy +ga,tidak +jg,juga +skrg,sekarang +ga,tidak +shaaaay,say +hempaass,hempas +dtg,datang +sayyy,say +bener,benar +tar,entar +kek,kayak +gini,begini +jgan,jangan +shayy,say +syantiek,cantik +njay,anjay +hehh,eh +temen,teman +qt,kita +cantik2,cantik-cantik +kam,kamu +liat,lihat +baguss,bagus +bngt,banget +gw,gue +elu,lu +yg,yang +nggak,tidak +inget,ingat +ingeet,ingat +inget,ingat +ga,tidak +sblh,sebelah +gw,gue +sblh,sebelah +nyaa,nya +gag,tidak +nawarin,menawari +ni,ini +amiiiiin,amin +tetep,tetap +jauhhh,jauh +udh,sudah +bgtttt,banget +baguss,bagus +waaahhh,wah +gini,begini +yah,ya +ajakin,mengajak +ntar,entar +gak,tidak +mntn,mantan +dlm,dalam +yaa,ya +ade,adek +liatnya,lihatnya +pd,pada +ngakak,mengakak +ngakak,mengakak +ihhh,ih +aje,saja +luhhh,lu +nyet,monyet +yooookkk,yuk +yg,yang +gw,gue +mksd,maksud +yg,yang +d,di +kyk,kayak +jrnk,jarang +"jelas""",jelas-jelas +cow,cowok +kayax,kayak +km,kamu +yg,yang +dblkng,dibelakang +mksd,maksud +gw,gue +ngapain,mengapai +anjirr,anjir +mirippp,mirip +sangattt,sangat +iyap,iya +mayann,lumayan +indo,indonesia +ngikutin,mengikuti +bener,benar +autuhh,tau tuh +ga,tidak +seneng,senang +ae,saja +atutt,takut +ga,tidak +ama,sama +kyk,kayak +bgt,banget +mirippp,mirip +bgtttt,banget +kek,kayak +gini,begini +ketara,tertara +bgt,banget +yg,yang +blg,bilang +kek,kayak +giniii,begini +looo,loh +bgt,banget +sma,sama +g,tidak +liat,lihat +bnget,banget +ma,sama +cntik,cantik +pingin,pengin +lgsung,langsung +bgt,banget +mbaaass,mbak +bund,bunda +g,tidak +tetep,tetap +bangeeettt,banget +almh,almarhumah +temenkuuh,temanku +mmg,memang +suami'y,suaminya +alm,almarhum +ori,orisinal +bgt,banget +bgt,banget +bngeeeetttt,banget +tp,tapi +emg,memang +y,ya +dr,dari +sm,sama +yg,yang +y,ya +entr,entar +kyax,kayak +ap,apa +ea,ya +cuantikkk,cantik +mksdnya,maksudnya +yg,yang +cwe,cewek +aja,saja +klo,kalo +yg,yang +cwo,cowok +aja,saja +gak,tidak +namain,namai +ga,tidak +aja,saja +ato,atau +ato,atau +ato,atau +ato,atau +ato,atau +ato,atau +ato,atau +ato,atau +kaaaaaaaaaakkkkkkkkkkk,kak +ato,atau +aja,saja +aja,saja +kasi,kasih +aj,saja +klo,kalo +kucing'y,kucingnya +nama'in,namai +panggilan'ya,panggilannya +klo,kalo +kucing'y,kucingnya +nama'in,namai +panggilan'y,panggilannya +kereen,keren +gak,tidak +ka,kak +utk,untuk +yg,yang +cwo,cowok +klo,kalo +cwe,cewek +z,saja +aja,saja +aja,saja +kalw,kalau +beneran,benaran +gt,begitu +gimana,bagaimana +yg,yang +tips2,tips-tips +serem,seram +serem,seram +tp,tapi +ttp,tetap +ka,kak +alu,aku +bgt,banget +pake,pakai +aja,saja +ngerrrriiii,ngeri +tetep,tetap +saranin,sarankan +pake,pakai +udah,sudah +keliatan,kelihatan +aja,saja +karna,karena +ngga,tidak +bener2,benar-benar +gak,tidak +nyesel,menyesal +ayooo,ayo +aja,saja +gw,gue +gini,begini +model2,model-model +dgn,dengan +utk,untuk +bener,benar +ngriii,mengiri +amatt,amat +tetep,tetap +smpai,sampai +orang2,orang-orang +cantikkkk,cantik +ngelahirin,melahirkan +paksain,memaksakan +biasaa,biasa +pengen,pengin +besarin,membesarkan +hub,hubungi +aja,saja +bgt,banget +pake,pakai +kox,kok +gak,tidak +pake,pakai +kaka,kakak +bener,benar +yg,yang +kaka,kakak +saranin,sarankan +gak,tidak +ka,kak +bner,benar +kaka,kakak +saranin,sarankan +bner,benar +makasih,terima kasih +yah,ya +ka,kak +wihhh,wih +tetep,tetap +ga,tidak +th,teh +tmbah,tambah +cntikk,cantik +pkee,pakai +pake,pakai +ka,kak +aamiin,amin +gini,begini +pake,pakai +sllu,selalu +biasaa,biasa +yaa,ya +cantiikkkk,cantik +bgttt,banget +klo,kalo +smga,semoga +smkin,semakin +bnyk,banyak +amiiiiinnn,amin +ndak,indak +bgmna,bagaimana +ssorg,seseorang +d,di +hdpn,hadapan +yg,yang +tsb,tersebut +dg,dengan +smua,semua +liat,lihat +foto2,foto-foto +yg,yang +yg,yang +aminn,amin +dg,dengan +smakin,semakin +mnambh,menambah +ktaatan,ketaatan +pd,pada +dr,dari +dg,dengan +kemaren,kemarin +liat,lihat +mba,mbak +yaa,ya +ka,kak +ka,kak +ga,tidak +stju,setuju +krna,karena +karna,karena +ka,kak +cantikkkkkk,cantik +ga,tidak +dilepas2,dilepas-lepas +yaa,ya +tehhh,teh +istiqomahhh,istikamah +tehhhh,teh +udah,sudah +engga,tidak +pokonya,pokoknya +prodaknya,produknya +bgt,banget +ga,tidak +krn,karena +udah,sudah +dlm,dalam +gak,tidak +emang,memang +ga,tidak +kaka,kakak +y,ya +emng,memang +yah,ya +pke,pakai +gk,tidak +yg,yang +ngerii,ngeri +bangett,banget +dahh,dah +ngiri,mengiri +aja,saja +liat,lihat +ga,tidak +tdk,tidak +yg,yang +bngt,banget +kaka,kakak +kk,kakak +kk,kakak +kk,kakak +imutt,imut +amu,kamu +nahh,nah +cntikk,cantik +mauuuuuuu,mau +kaka,kakak +jilbb,jilbab +d,di +g,tidak +pake,pakai +mw,mau +liat,lihat +aj,saja +tmn,teman +ndut,gendut +udh,sudah +ngecek,mengecek +blom,belum +yah,ya +gada,tidak ada +kerjaan,pekerjaan +bgt,banget +ngecek,mengecek +ndut,gendut +psti,pasti +penasarn,penasaran +jg,juga +cuyy,cuy +astauviruloh,astagfirullah +binggo,banget +kaakk,kak +donk,dong +bnget,banget +udah,sudah +nyaa,nya +gk,tidak +bnyk,banyak +bgt,banget +kka,kakak +paaak,pak +diajarin,diajari +yg,yang +ngikutin,mengikuti +aja,saja +gawl,gaul +kecr,kece +gilaaa,gila +iih,ih +lucuuu,lucu +org,orang +yg,yang +ngajak,mengajak +dgn,dengan +trs,terus +org2,orang-orang +gemay,gemas +laaaah,lah +ka,kak +kmu,kamu +ko,kok +aq,aku +yah,ya +donk,dong +aned,banget +bgt,banget +gingsungny,gingsulnya +sma,sama +kyk,kayak +blh,boleh +ga,tidak +bgt,banget +cariin,carikan +gini,begini +bgt,banget +yg,yang +gak,tidak +kenceng,kencang +yg,yang +cuanti,cantik +kyk,kayak +q,aku +kmu,kamu +mbanya,mbaknya +hy,hai +ka,kak +q,ku +lh,boleh +knlan,kenalan +g,tidak +bgt,banget +donk,dong +udh,sudah +aja,saja +jngn,jangan +indo,indonesia +indo,indonesia +jg,juga +ga,tidak +gw,gue +liat,lihat +ky,kaya +mbaakk,mbak +emg,memang +yg,yang +pnting,penting +mrka,mereka +gk,tidak +nyusahhin,menyusahkan +kmu,kamu +gk,tidak +mnta,minta +byaran,bayaran +mrka,mereka +pnya,punya +wlawpun,walaupun +bnyak,banyak +yg,yang +sedangkn,sedangkan +hnya,hanya +tnpa,tanpa +kmu,kamu +pnya,punya +yg,yang +d,di +bnggain,banggakan +smpe,sampai +sperti,seperti +emng,memang +kmu,kamu +yg,yang +mrka,mereka +yg,yang +kmu,kamu +omongin,omongkan +nyusahin,menyusahkan +emg,memang +yg,yang +nyusahin,menyusahkan +cmn,cuman +malu2in,malu-malui +indo,indonesia +aja,saja +emg,memang +gak,tidak +blm,belum +dibanggain,dibanggakan +tpi,tapi +sma,sama +wlau,walau +tpi,tapi +emg,memang +komenan,komentar +yg,yang +kmu,kamu +"bangga""in",membangga-banggakan +tpi,tapi +krya,karya +kmu,kamu +"bilang""",bilang-bilang +tinggall,tinggal +dmna,dimana +bgt,banget +ngebales,membalas +dripda,daripada +emg,memang +gk,tidak +bangga2in,membangga-banggakan +emg,memang +klo,kalo +yg,yang +dibnggain,dibanggakan +cmn,cuman +kyk,kayak +gitu,begitu +aja,saja +wlaupun,walaupun +dgn,dengan +yg,yang +kyk,kayak +ank,anak +jgn,jangan +krn,karena +org,orang +tpi,tapi +sma,sama +karya2,karya-karya +yg,yang +gk,tidak +ank,anak +gk,tidak +dgn,dengan +karya2,karya-karya +emg,memang +gk,tidak +sma,sama +sma,sama +gimana,bagaimana +kyk,kayak +yg,yang +trs,terus +drimana,darimana +udh,sudah +yg,yang +dehh,deh +jgn,jangan +yaa,ya +udh,sudah +klo,kalo +yg,yang +tpi,tapi +ngapain,mengapai +udh,sudah +gni,begini +gk,tidak +ank,anak +dri,dari +gk,tidak +slh,salah +trs,terus +mreka,mereka +jdi,jadi +ngepake',memakai +gksalah,tidak salah +gak,tidak +gk,tidak +nuntut,menuntut +ngebiarin,membiarkan +org,orang +yg,yang +krn,karena +spy,supaya +mreka,mereka +yg,yang +lgi,lagi +bhas,bahas +tdi,tadi +dri,dari +ngeluarin,mengeluarkan +kasian,kasihan +elo,lo +komenan,komentar +elo,lo +komenan,komentar +ngatain,mengatai +komenan,komentar +org,orang +tpi,tapi +gk,tidak +komenan,komentar +kyk,kayak +gimana,bagaimana +jg,juga +lagu'y,lagunya +yak,ya +lagu2nya,lagu-lagunya +kakk,kak +ka,kak +jadiin,jadikan +bgt,banget +yak,ya +guaa,gua +bgt,banget +kaa,kak +omongin,omongkan +gak,tidak +diem,diam +ajah,saja +gausah,tidak usah +nyampah,menyampah +klo,kalo +gw,gue +"mba""",mbak-mbak +donk,dong +gausah,tidak usah +ajah,saja +jgn,jangan +dh,deh +bukan'a,bukannya +mba,mbak +tappi,tapi +mang,memang +dahh,dah +cantikk,cantik +kalli,kali +mba,mbak +jngn,jangan +ka,kak +aja,saja +sm,sama +gk,tidak +pacara,pacaran +jga,juga +kalli,kali +maen,main +nuduh,menuduh +"ngerebut""",merebut-rebut +aja,saja +lluu,lu +mbaa,mbak +gk,tidak +ngerussak,merusak +mreka,mereka +"bela""in",membela-bela +bellain,membela +aja,saja +jngn,jangan +pke,pakai +ka,kak +donk,dong +kallo,kalo +coment,komen +yg,yang +dewassa,dewasa +mba,mbak +jngn,jangan +aja,saja +kallo,kalo +comnet,komen +gk,tidak +"pikir""",pikir-pikir +dlu,dulu +pke,pakai +bangetttt,banget +kaya'a,kayanya +aja,saja +kuyyy,yuk +kitaa,kita +ap,apa +makasih,terima kasih +yh,ya +uda,sudah +ngaca,mengaca +jg,juga +ga,tidak +gitu2,begitu-gitu +org,orang +gimana,bagaimana +aja,saja +knpa,kenapa +mba,mbak +mba,mbak +d,di +d,di +smpe,sampai +sgtu'y,sebegitunya +ngebelain,membela +tpii,tapi +"karya""",karya-karya +do,di +cali,caci +kya,kaya +mba,mbak +penghrgaan,penghargaan +ajjh,saja +sihh,sih +buktiin,buktikan +mba,mbak +klau,kalau +mba,mbak +lbihh,lebih +baikk,baik +drii,dari +"artist""",artis-artis +yg,yang +mba,mbak +"maki""",maki-maki +jngn,jangan +komentarin,mengomentari +orng,orang +sendirinnya,sendirinya +gk,tidak +stidaknya,setidaknya +mrka,mereka +may,mau +yg,yang +trbaikk,terbaik +bkan,bukan +kmauan,kemauan +mrka,mereka +tpi,tapi +mrka,mereka +punn,pun +mengikutii,mengikuti +atassan,atasan +mrka,mereka +klauu,kalau +jngnn,jangan +so,sok +orng,orang +kya,kaya +gtu,begitu +kya,kaya +sendirinyya,sendirinya +frestasiii,prestasi +ajjh,saja +knp,kenapa +mst,mesti +add,ada +see,sih +sibukx,sibuknya +in,ini +yaa,ya +katanyaa,katanya +lawaaaas,lawas +ngakak,mengakak +ni,ini +beneran,benaran +ni,nih +yg,yang +nonton,menonton +emg,memang +ngapain,mengapa +d,di +lucuuu,lucu +g,tidak +ad,ada +kocaaaak,kocak +kek,kayak +smg,semoga +slalu,selalu +tmbh,tambah +syng,sayang +sm,sama +sm,sama +jagain,jaga +adenya,adeknya +pkoknyaa,pokoknya +bwt,buat +yg,yang +smoga,semoga +yaa,ya +dateng,datang +donk,dong +smoga,semoga +dsana,disana +yaaa,ya +yg,yang +suksess,sukses +slalu,selalu +ortu,orang tua +yg,yang +amiin,amin +ortu,orang tua +smoga,semoga +cita2,cita-cita +dua2nya,dua-duanya +bangett,banget +sichhhhhhhhhh,sih +diapain,diapakan +gk,tidak +yh,ya +nampak,menampak +yak,ya +ndak,indak +tetehh,teteh +tehhh,teh +tehhhh,teh +gak,tidak +udah,sudah +pake,pakai +sampe,sampai +udah,sudah +gak,tidak +dapetin,mendapati +padet,padat +ga,tidak +buktiin,buktikan +bener,benar +bener,benar +gak,tidak +nyangka,menyangka +bgt,banget +nambah,menambah +makasih,terima kasih +ga,tidak +nyangka,menyangka +gak,tidak +aja,saja +yuuk,yuk +dgn,dengan +yg,yang +dgn,dengan +makasih,terima kasih +buktiin,membuktikan +bener2,benar-benar +kepoin,kepoi +aja,saja +wooowww,wow +wooowww,wow +saranin,sarankan +ga,tidak +pake,pakai +ilang,hilang +ga,tidak +cobain,coba +pake,pakai +ngerasain,merasai +emng,memang +bener,benar +pake,pakai +makasih,terima kasih +kpn,kapan +yach,ya +bs,bisa +ma,sama +mbk,mbak +muga,moga +sllu,selalu +dpt,dapat +yg,yang +slm,salam +aj,saja +dr,dari +aq,aku +mbk,mbak +yach,ya +makasih,terima kasih +udh,sudah +kenalin,mengenalkan +jd,jadi +gak,tidak +jd,jadi +pede,percaya diri +skrng,sekarang +mksh,terima kasih +yg,yang +bener2,benar-benar +udah,sudah +rekomendasiin,merekomendasikan +ga,tidak +pengen,pengin +janka,jangka +kepoin,mengepoi +ajaa,saja +belanjaa,belanja +disiniii,disini +ko,kok +skrg,sekarang +wawwwww,wow +waaaww,wow +waaawwww,wow +mantapp,mantap +bangetttt,banget +cobaaa,coba +gak,tidak +nyesel,menyesal +dehhh,deh +pake,pakai +model2,model-model +makasih,terima kasih +udah,sudah +seneng,senang +udah,sudah +seneng,senang +udah,sudah +udah,sudah +kenceng,kencang +gak,tidak +nyangka,menyangka +kageet,kaget +makasi,terima kasih +say,sayang +awal2,awal-awal +ga,tidak +setabil,stabil +temen2,teman-teman +nyoba,mencoba +ihh,ih +beneran,benaran +setabil,stabil +ga,tidak +temen2,teman-teman +makasih,terima kasih +yah,ya +ga,tidak +yg,yang +pake,pakai +bgt,banget +gak,tidak +bangettttttt,banget +seneng,senang +liat,lihat +mauu,mau +ngtain,mengatai +org,orang +kya,kaya +g,tidak +aja,saja +gak,tidak +oplas,operasi plastik +gak,tidak +keliatan,kelihatan +nambahh,bertambah +paripurnahh,paripurna +wanitah,wanita +indonesiaah,indonesia +bet,banget +udh,sudah +iyaa,iya +cumn,cuman +kasi,kasih +aja,saja +sm,sama +klo,kalo +liat,lihat +gegra,gegara +kmrin,kemarin +brita,berita +klo,kalo +diliat,dilihat +wihhh,wih +pengen,pengin +bgt,banget +klo,kalo +ktmu,ketemu +sma,sama +org,orang +yg,yang +ka,kak +baper,bawa perasaan +fotbar,foto bareng +aja,saja +gapernah,tidak pernah +fotbar,foto bareng +ama,sama +jg,juga +ngatain,mengatai +wajarrr,wajar +dikata2in,dikata-katai +sampek,sampai +gak,tidak +yg,yang +liat,lihat +liat,lihat +ny,nya +aja,saja +liat,lihat +skg,sekarang +sngt,sangat +tdk,tidak +pdhl,padahal +dl,dulu +wk,waktu +sm,sama +skg,sekarang +ky,kaya +bingiittt,banget +sm,sama +dr,dari +aja,saja +sudh,sudah +tp,tapi +klu,kalau +dr,dari +nampar,menampar +tukan,tukang +jatoh,jatuh +gk,tidak +dr,dari +ko,kok +gtu,begitu +ga,tidak +org,orang +gk,tidak +"muka""",muka-muka +dr,dari +dh,dah +jlek,jelek +sma,sama +ky,kaya +ga,tidak +ga,tidak +cantik2nya,cantik-cantiknya +ngk,tidak +pda,pada +sdgkn,sedangkan +jgk,juga +ngk,tidak +"apa""",apa-apa +kn,kan +mancungin,memancungkan +idung,hidung +kusem,kusam +lbh,lebih +drpada,daripada +yg,yang +org,orang +lahh,lah +dri,dari +gtu,begitu +kmar,kamar +diemm,diam +tnggu,tunggu +lohh,loh +dteng,datang +nihhh,nih +guee,gue +ketawain,mentertawakan +lohh,lo +krna,karena +yaelahhh,alah +gausah,tidak usah +drpd,daripada +ngaca,mengaca +"sikap""",sikap-sikap +udah,sudah +bener,benar +sampe,sampai +ngehujat,menghujat +bgt,banget +komenan,komentar +drpd,daripada +pengen,pengin +bales,balas +ngehina,menghina +yah,ya +ga,tidak +ampuun,ampun +ngehina,menghina +sampe,sampai +ngejatuhin,manjatuhkan +ga,tidak +klo,kalo +ga,tidak +ngelakuin,melakukan +dapet,dapat +ngehina,menghina +ga,tidak +gedeg,gedek +ama,sama +muka2,muka-muka +ngaca,mengaca +ngatain,mengatai +eey,eh +emang,memang +nggk,tidak +prnh,pernah +kslahan,kesalahan +aja,saja +yg,yang +koment,komentar +ga,tidak +bener,benar +ngata2in,mengatai-ngatai +gak,tidak +liat,lihat +org,orang +gak,tidak +gak,tidak +bener,benar +klo,kalo +gak,tidak +yg,yang +udah,sudah +aja,saja +gak,tidak +mmg,memang +ga,tidak +baik2,baik-baik +silahkan,silakan +mba,mbak +mba,mbak +gak,tidak +perhatiam,perhatian +sm,sama +aj,saja +dri,dari +pd,pada +jg,juga +ttp,tetap +yg,yang +smpe,sampai +ttp,tetap +sm,sama +yah,ya +emang,memang +digituin,dibegitukan +dibiarin,dibiarkan +aja,saja +sich,sih +aq,aku +yg,yang +gk,tidak +pny,punya +ank,anak +aja,saja +org,orang +gk,tidak +yg,yang +sbnrny,sebenarnya +trjd,terjadi +dlm,dalam +mrk,mereka +gk,tidak +mkir,memikir +bhw,bahwa +gk,tidak +mgkn,mungkin +hny,hanya +slah,salah +yg,yang +slah,salah +22nya,dua-duanya +slah,salah +ngatain,mengatai +apalai,apalagi +yg,yang +dikata2in,dikata-katai +keliatan,kelihatan +klo,kalo +emang,memang +ngapain,mengapai +cmpur,campur +org,orang +bkal,bakal +pny,punya +saat2,saat-saat +spt,seperti +akn,akan +dtg,datang +pd,pada +ank,anak +ntar,entar +jg,juga +bkal,bakal +jd,jadi +org,orang +hrs,harus +nyadar,menyadari +ank,anak +yg,yang +gk,tidak +apa2,apa-apa +ngapain,mengapa +ngomong,mengomong +ngeluarin,mengeluarkan +kta,kata +yg,yang +gk,tidak +utk,untuk +ank,anak +dmn,dimana +yg,yang +knp,kenapa +br,baru +nyadar,sadar +bka,buka +jgn,jangan +ska,suka +sotoy,sok tau +sma,sama +rmh,rumah +org,orang +pny,punya +aja,saja +berani2,berani-berani +ngatain,mengatai +ank,anak +sprt,seperti +yg,yang +gk,tidak +apa2,apa-apa +gk,tidak +sma,sama +gk,tidak +ngaca,mengaca +sm,sama +utk,untuk +mo,mau +yaa,ya +lucuuuuu,lucu +pngn,pengin +pipi'y,pipinya +gemmeeezzz,gemas +cantiikk,cantik +sukam,suka +ngga,tidak +sm,sama +yach,ya +ngga,tidak +ngga,tidak +sm,sama +wkt,waktu +udah,sudah +ga,tidak +makasih,terima kasih +klau,kalau +pakek,pakai +mba,mbak +lbh,lebih +liat,lihat +manisss,manis +mngkin,mungkin +menghilangkn,menghilangkan +utk,untuk +yg,yang +gak,tidak +pede,percaya diri +karna,karena +utk,untuk +kk,kakak +trasa,terasa +minpi,mimpi +bner2,benar-benar +gak,tidak +nyangka,menyangka +gak,tidak +mnjdkan,menjadikan +jd,jadi +ak,aku +gak,tidak +mudah2n,mudah-mudahan +seneng,senang +baju2,baju-baju +seneng,senang +dapet,dapat +pake,pakai +ga,tidak +tp,tapi +stlh,setelah +soalx,soalnya +smpt,sempat +liat,lihat +ka,kak +makasih,terima kasih +udah,sudah +rekomendasiin,merekomendasikan +aja,saja +ka,kak +aja,saja +ka,kak +skrng,sekarang +gak,tidak +pake,pakai +jd,jadi +gara2,gara-gara +yg,yang +rekomendasiin,merekomendasikan +mksh,terima kasih +yah,ya +kaka,kakak +saranin,menyarankan +kaka,kakak +yah,ya +udah,sudah +ga,tidak +makasih,terima kasih +ngerasa,merasa +laen,lain +keche,kece +badaii,badai +aj,saja +udah,sudah +pake,pakai +smoga,semoga +mnjadi,menjadi +emg,memang +smua,semua +btuh,butuh +yg,yang +pnting,penting +yg,yang +ktanya,katanya +aja,saja +msh,masih +bebrp,beberapa +sblum,sebelum +santab,santap +d,di +dlm,dalam +salehah,salihah +mikirin,memikirkan +kk,kakak +rb,ribu +jt,juta +subhannallah,subhanallah +lht,lihat +klu,kalau +cantiq,cantik +karna,karena +yu,yuk +yu,yuk +konsul,konsultasi +pengalam,pengalaman +ga,tidak +drpd,daripada +hrs,harus +smangat,semangat +slalu,selalu +yg,yang +tuk,untuk +yg,yang +poko,pokok +ny,nya +bner,benar +bner,benar +udah,sudah +bnget,banget +udah,sudah +trun,turun +poko,pokok +mantepp,mantap +dehh,deh +lbh,lebih +kuninggg,kuning +pinkkkk,pink +bs,bisa +d,di +dg,dengan +warnany,warnanya +ajaa,saja +aja,saja +seger,segar +klo,kalo +bwt,buat +mkn,makin +senangat,semangat +msknya,masaknya +kerennnn,keren +yg,yang +ciptain,ciptakan +sma,sama +ngasih,mengasih +say,sayang +bkan,bukan +inget,ingat +deket,dekat +bagussss,bagus +yg,yang +abis,habis +liat,lihat +makasih,terima kasih +sayangkuh,sayangku +gans,ganteng +kren,keren +babget,banget +banger,banget +salfok,salah fokus +ama,sama +org,orang +yg,yang +dihh,dih +salfok,salah fokus +aja,saja +jadu,jadi +nggak,tidak +heii,hai +kamuu,kamu +ksyngn,kesayangan +gw,gue +gk,tidak +haru,harus +ngapain,mengapai +gw,gue +cma,cuma +pengen,pengin +ngingetin,mengingatkan +sma,sama +bngt,banget +syang,sayang +gw,gue +udh,sudah +th,tahun +udh,sudah +gw,gue +yg,yang +gk,tidak +gw,gue +narik,menarik +gw,gue +liat,lihat +bngt,banget +yg,yang +kmu,kamu +"orang""",orang-orang +yg,yang +pengen,pengin +kmu,kamu +gw,gue +gk,tidak +ngapain,mengapai +syng,sayang +nyanyiin,menyanyikan +tuhh,tuh +amatt,amat +ngk,tidak +gt,begitu +tetep,tetap +gokilll,gila +gantenggg,ganteng +astagaaaa,astaga +hancuuuuuy,hancur +mattihhh,mati +aja,saja +kaka,kakak +kaka,kakak +pake,pakai +gak,tidak +nyesel,menyesal +ka,kak +beudd,banget +termiribkan,termiripkan +utk,untuk +u,lu +ga,tidak +cb,coba +dlu,dulu +dngerin,mendengarkan +brrti,berarti +dngerin,mendengarkan +wenakk,enak +gimana,bagaimana +tetep,tetap +nganteng,ganteng +abanggg,abang +seksii,seksi +gtuh,begitu +jadii,jadi +emeezzz,gemas +ama,sama +amohhh,kamu +maau,mau +eyke,aku +gilakkkkk,gila +awk,awak +duhhhhh,duh +wowww,wow +kerennn,keren +kaka,kakak +liaatt,lihat +iniiiii,ini +aloh,allah +bnget,banget +ngettt,banget +bangeett,banget +bgt,banget +mirippp,mirip +mukax,mukanya +"sama""",sama-sama +mba,mbak +msh,masih +aja,saja +kyak,kayak +maso,masa +dpn,depan +ngeliatnya,melihatnya +skli,sekali +kk,kakak +kk,kakak +gk,tidak +brubah,berubah +udah,sudah +y,ya +pelastik,plastik +keak,kayak +y,ya +bg,bang +dengerin,dengarkan +liatnya,lihatnya +beud,banget +pahamin,pahami +cntk,cantik +makasih,terima kasih +emg,memang +gitu,begitu +lg,lagi +aja,saja +liatnya,lihatnya +ky,kaya +gini,begini +yah,ya +takuuuuut,takut +ahahahanjirrr,anjir +dasyat,dahsyat +jogetin,berjoget +shaay,say +boker,berak +boker,berak +gk,tidak +yg,yang +lbih,lebih +ga,tidak +nyangka,menyangka +beneran,benaran +hub,hubungi +gitu,begitu +gk,tidak +nyambung,menyambung +pacarnyaa,pacarnya +siapaa,siapa +inii,ini +matii,mati +ketawaa,ketawa +klo,kalo +nda,indak +nda,indak +d,di +sdh,sudah +makasih,terima kasih +njir,anjir +ngakak,mengakak +taekk,tahi +wanjiir,anjir +ni,ini +dmna,dimana +mw,mau +jg,juga +trus,terus +bw,bawa +pengen,pengin +dh,deh +pingin,pengin +jgn,jangan +mauuuuu,mau +minta,meminta +mauuu,mau +leh,boleh +bnran,benaran +tp,tapi +g,tidak +kk,kakak +kk,kakak +y,ya +smua,semua +kk,kakak +tu,itu +sgla,segala +uitnya,duitnya +k,kak +kmrn,kemarin +beliiin,belikan +yaaah,ya +macem2,macam-macam +lucuuuu,lucu +beliin,belikan +sm,sama +yg,yang +tetep,tetap +emang,memang +emang,memang +sampe,sampai +ga,tidak +nyangka,menyangka +sekaeang,sekarang +udah,sudah +buktiin,membuktikan +yg,yang +ngebuktiin,membuktikan +bgt,banget +liat,lihat +kyk,kayak +gini,begini +itungan,hitungan +aja,saja +tgk,tengok +mo,mau +tgk,tengok +gak,tidak +nyangka,menyangka +kageet,kaget +makasi,terima kasih +say,sayang +sma,sama +ga,tidak +ilang2,hilang-hilang +bkn,bikin +ga,tidak +jga,juga +bgt,banget +yu,yuk +tanyain,tanyakan +mslh,masalah +kmi,kami +kepoin,kepoi +ga,tidak +nyoba,mencoba +wihh,wih +beneran,benaran +yah,ya +yu,yuk +aja,saja +aja,saja +hub,hubungi +yu,yuk +aja,saja +aja,saja +hub,hubungi +yu,yuk +aja,saja +aja,saja +hub,hubungi +bgt,banget +ga,tidak +yg,yang +"artis""",artis-artis +klu,kalau +jatuhnyaa,jatuhnya +kka,kakak +kk,kakak +gini,begini +gak,tidak +kerjaan,pekerjaan +tambahin,tambahkan +aja,saja +banyakin,membanyaki +udah,sudah +elo,lo +aja,saja +gak,tidak +emang,memang +nambah,bertambah +aja,saja +yg,yang +tipu2nya,tipu-tipunya +doaang,doang +yaa,ya +dech,deh +baget,banget +bat,banget +kk,kakak +gini,begini +ny,nya +gituan,begituan +lucuuu,lucu +tpii,tapi +ap,apa +bgt,banget +lucuu,lucu +kaj,kak +lcu,lucu +bngt,banget +ap,apa +tu,itu +ajah,saja +wahhhhhh,wah +bngt,banget +bingittzz,banget +kl,kalo +bgt,banget +lucuuu,lucu +lucuu,lucu +iiiiiiiii,ih +lucuuu,lucu +kaliiiiiii,kali +ihhh,ih +cantikkkk,cantik +cantikkkk,cantik +melebihin,melebihi +apaa,apa +pengen,pengin +pengen,pengin +gakpapa,tidak apa-apa +kalogak,kalo tidak +gak,tidak +kaka,kakak +donk,dong +ka,kak +kaka,kakak +kaaa,kak +sm2,sama-sama +km,kamu +bgt,banget +bgt,banget +akn,akan +ndukung,mendukung +pengen,pengin +gk,tidak +aminnnnn,amin +ka,kak +make,memakai +kaaaaa,kak +aamiinnn,amin +smga,semoga +slalu,selalu +skluarga,sekeluarga +daah,dah +suaminga,suaminya +udah,sudah +berhijap,berhijab +smgaa,semoga +istiqamah,istikamah +aamiin,amin +cuaaantikk,cantik +udah,sudah +cantikk,cantik +yah,ya +rb,ribu +muraaaaah,murah +rb,ribu +aja,saja +gk,tidak +aamiin,amin +mba,mbak +yukk,yuk +baraang,barang +aamiiin,amin +udh,sudah +aamiin,amin +bets,banget +aamiin,amin +seneng,senang +kaka,kakak +ka,kak +bgt,banget +smga,semoga +kaka,kakak +aamiin,amin +aamiin,amin +yaa,ya +yaaa,ya +cantiknyaaa,cantiknya +amiiin,amin +aamiin,amin +aamiin,amin +yg,yang +gk,tidak +pake,pakai +lbh,lebih +mba,mbak +bgt,banget +pake,pakai +alhamdulillaaaaah,alhamdulillah +istiqamah,istikamah +yah,ya +makasi,terima kasih +uda,sudah +sembuhin,menyembuhkan +bener,benar +aamiin,amin +tetep,tetap +kaaa,kak +fto,foto +d,di +z,saja +ad,ada +yg,yang +bkin,bikin +pengrusak,perusak +pngn,pengin +ngoceh,mengoceh +ni,ini +aduhhh,aduh +hpus,hapus +fto,foto +pjang,pajang +msh,masih +bdampingan,berdampingan +sm,sama +org,orang +yg,yang +sdh,sudah +klo,kalo +tdk,tidak +hrs,harus +liatnya,lihatnya +it,itu +ap,apa +yg,yang +y,ya +mnding,mending +sm,sama +aja,saja +liat,lihat +kaga,kagak +liat,lihat +yg,yang +aj,saja +uih,uh +komenx,komennya +"serem""",seram-seram +yg,yang +"happi""",hepi-hepi +aza,saja +sm,sama +bgt,banget +bgtuu,begitu +ga,tidak +yaa,ya +g,tidak +mff,maaf +y,ya +q,ku +jd,jadi +ktwa,ketawa +liat,lihat +fto,foto +yg,yang +yg,yang +pke,pakai +bngt,banget +slh,salah +x,kali +yeee,ya +abizzz,habis +bnr2,benar-benar +malu2in,malu-malui +aj,saja +sm,sama +yg,yang +bkin,bikin +ngakak,mengakak +mff,maaf +y,ya +q,ku +trlalu,terlalu +jjur,jujur +klo,kalo +ngmg,mengomong +semogaa,semoga +kepelesett,terpeleset +kyk,kayak +gt,begitu +pake,pakai +geeelaakk,gila +salfok,salah fokus +bolang,bocah petualang +pkek,pakai +pnjang,panjang +pla,pula +lg,lagi +ma,sama +emang,memang +pake,pakai +lagihh,lagi +hedeuuhh,aduh +stress,stres +lama2,lama-lama +saltummmm,salah kostum +gak,tidak +kaga,kagak +nyambung,menyambung +cwe,cewek +ngakak,mengakak +gini,begini +gk,tidak +mboizzz,bois +jgn,jangan +yg,yang +suda,sudah +ama,sama +kayaq,kayak +ihhh,ih +ema,emak +liat,lihat +aja,saja +gayany,gayanya +engk,tidak +bgt,banget +gw,gue +cepet,cepat +bgt,banget +bgt,banget +kasian,kasihan +org,orang +g,tidak +kerjaan,pekerjaan +org,orang +g,tidak +ngaca,mengaca +dirumahny,dirumahnya +pd,pada +g,tidak +udah,sudah +ga,tidak +yg,yang +ama,sama +lgi,lagi +yuh,tuh +yg,yang +ad,ada +mlah,malah +ktmu,ketemu +fto,foto +yg,yang +rmbt,rambut +yahh,ya +liat,lihat +gak,tidak +liatnya,lihatnya +yg,yang +mrusak,merusak +liat,lihat +apus,hapus +aja,saja +yg,yang +gara2,gara-gara +yg,yang +dunk,dong +yg,yang +yg,yang +siapayahh,siapa ya +bilangin,bilang +pake,pakai +kostom,kostum +loo,lo +ko,kok +cewe,cewek +ky,kaya +gnii,begini +pinter,pintar +lucuuuu,lucu +bangettttt,banget +kyk,kayak +gini,begini +atuu,satu +ngegemesin,menggemaskan +gemes,gemas +lohh,loh +pipinyaaa,pipinya +yaaa,ya +kyk,kayak +bgt,banget +sm,sama +pinginnn,pengin +pinter,pintar +bgt,banget +bungkuuuuuuuuusss,bungkus +iiiihhhhhj,ih +emeessss,gemas +nggak,tidak +pipine,pipinya +glembeeeer,gelambir +bgt,banget +lucunaaa,lucunya +cubanget,lucu banget +pengenn,pengin +bgttt,banget +bgt,banget +lucuuuuu,lucu +unyuuk,unyu +bgd,banget +dedek,adek +lucunyah,lucunya +mantaaap,mantap +bingits,banget +pesen,pesan +dmana,dimana +yg,yang +keduaa,kedua +engga,tidak +engga,tidak +sma,sama +yg,yang +trsrh,terserah +ksih,kasih +engga,tidak +jgn,jangan +orng,orang +yha,ya +kaka,kakak +seterong,setrong +teyuss,terus +aja,saja +gak,tidak +ush,usah +dimasukin,dimasuki +klo,kalo +yg,yang +jelekin,menjelekkan +aja,saja +orng,orang +yg,yang +jahatin,menjahati +jelekin,menjelekkan +orng,orang +gak,tidak +ush,usah +masukin,memasuki +tai,tahi +tai,tahi +ajaa,saja +ngapain,mengapa +akn,akan +gak,tidak +ngomongnya,mengomongnya +udh,sudah +gk,tidak +kyknya,kayaknya +gtw,tidak tau +aja,saja +yg,yang +omongin,omongkan +qo,kok +nulis,menulis +klu,kalau +gk,tidak +knp,kenapa +gk,tidak +aja,saja +g,tidak +ngerti,mengerti +aja,saja +nyebutin,menyebutkan +yg,yang +gak,tidak +aja,saja +yg,yang +dengerin,dengarkan +gak,tidak +bales,balas +ngertiin,mengerti +yg,yang +rasaiin,rasai +gakusah,tidak usah +disni,disini +slalu,selalu +yg,yang +cantiik,cantik +kk,kakak +dri,dari +pda,pada +yg,yang +liat,lihat +dri,dari +org,orang +aja,saja +sabarrr,sabar +semangaatttt,semangat +gak,tidak +dengerin,dengarkan +gak,tidak +gk,tidak +tdk,tidak +skrng,sekarang +bener,benar +nonton,menonton +aj,saja +scr,secara +nyalahin,menyalahkan +nyindir,menyindir +bgt,banget +bedain,membedakan +bgt,banget +bedainnya,membedakannya +bgt,banget +keknya,kayaknya +dehhh,deh +lbih,lebih +krus,kurus +dri,dari +pda,pada +bner,benar +gaa,tidak +drpd,daripada +ka,kak +bangeet,banget +kk,kakak +jg,juga +bgt,banget +liat,lihat +aja,saja +bgt,banget +elaaaahhhh,alah +kereenn,keren +cogan,cowok ganteng +cogan,cowok ganteng +tap8,tapi +imoet,imut +ihh,ih +nggak,tidak +bosen,bosan +pandanginya,memandanginya +kakanya,kakaknya +yg,yang +kenaliiin,kenalkan +sm,sama +qu,ku +banyak2,banyak-banyak +yo,ya +tauuu,tau +awk,awak +lgi,lagi +suko,suka +sm,sama +org,orang +niih,nih +kk,kakak +bgtt,banget +sihhhh,sih +udh,sudah +"sebaik""",sebaik-baik +org,orang +org,orang +ga,tidak +ngomentarin,mengomentari +org,orang +laen,lain +yg,yang +blm,belum +bener,benar +ajah,saja +udh,sudah +dpt,dapat +jd,jadi +"masing""",masing-masing +ikh,ih +kyk,kayak +gt,begitu +g,tidak +pantes,pantas +pake,pakai +yg,yang +g,tidak +gmn,bagaimana +klo,kalo +smpe,sampai +nnti,nanti +yg,yang +ngomongnya,mengomongnya +gt,begitu +tu,itu +segtu,sebegitu +ngebenci,membenci +ny,nya +bakar2in,bakar-bakari +slmt,selamat +ank,anak +smg,semoga +sm,sama +km,kamu +ttp,tetap +km,kamu +padhe,pakde +km,kamu +yg,yang +yya,ya +yya,ya +atw,atau +klo,kalo +jgn,jangan +org,orang +yg,yang +dosa2mu,dosa-dosamu +org,orang +yg,yang +maafin,memaafi +gabisa,tidak bisa +jd,jadi +temen,teman +ky,kaya +muke,muka +gile,gila +pede,percaya diri +bgd,banget +ujung2,ujung-ujung +jd,jadi +lg,lagi +d,di +aj,saja +dalem2,dalam-dalam +kgak,kagak +d,di +bahas2,bahas-bahas +jg,juga +ud,sudah +k,ke +dy,dia +skrg,sekarang +mslh,masalah +woles,selow +aj,saja +jd,jadi +spt,seperti +km,kamu +hianatin,khianati +dr,dari +org,orang +yg,yang +tdk,tidak +halangin,halangi +dg,dengan +iyuh,ih +bngt,banget +knp,kenapa +iyuuuhhhh,ih +gaje,tidak jelas +jgn2,jangan-jangan +gk,tidak +gabakal,tidak bakal +gitu,begitu +aja,saja +yg,yang +org,orang +jga,juga +klo,kalo +emang,memang +adapin,menghadapi +ga,tidak +bnyak,banyak +emang,memang +ngehakimi,menghakimi +gw,gue +yg,yang +th,tahun +aja,saja +ngerti,mengerti +gmna,bagaimana +ngejuangin,memperjuangkan +gimana,bagaimana +dipojokin,dipojokkan +aja,saja +kek,kayak +idup,hidup +udah,sudah +bener,benar +gw,gue +yg,yang +bacotin,bacoti +udah,sudah +berati,berarti +dripada,daripada +kebangetak,kebangetan +klo,kalo +gak,tidak +tangkep,tangkap +jg,juga +d,di +gitu,begitu +dipake,dipakai +bt,buat +ngomong,mengomong +gitu,begitu +sadis2,sadis-sadis +cowo,cowok +yg,yang +ga,tidak +maksir,menaksir +udh,sudah +tp,tapi +tetep,tetap +hebatt,hebat +nerima,menerima +yaa,ya +liht,lihat +dr,dari +pndang,pandang +aja,saja +sbagai,sebagai +pmbelajaran,pembelajaran +jugaa,juga +orng,orang +yg,yang +bgt,banget +bgt,banget +gak,tidak +ngejelek,menjelekkan +yg,yang +maslah,masalah +pake,pakai +mmperbaiki,memperbaiki +aja,saja +ud,sudah +jd,jadi +krn,karena +klo,kalo +utk,untuk +temenan,berteman +sm,sama +mb,mbak +aja,saja +yg,yang +nahan,menahan +yg,yang +jd,jadi +jd,jadi +yg,yang +ga,tidak +pnya,punya +ga,tidak +pny,punya +ga,tidak +pny,punya +udh,sudah +ngerebut,merebut +yg,yang +ga,tidak +pny,punya +dr,dari +kafeh,kafe +remang2,remang-remang +mlh,malah +nusuk,menusuk +dr,dari +tinggl,tinggal +dirmh,dirumah +lg,lagi +mlh,malah +yg,yang +dr,dari +tp,tapi +gak,tidak +ngaku,mengaku +gmn,bagaimana +mbaa,mbak +gak,tidak +mnta,minta +klo,kalo +gt,begitu +byk,banyak +yg,yang +temen,teman +nangis,menangis +aja,saja +pantes,pantas +lbh,lebih +dri,dari +knp,kenapa +yg,yang +kale,kali +yg,yang +iyuuhhh,ih +yg,yang +cwo,cowok +udah,sudah +yg,yang +udah,sudah +mnjadi,menjadi +ktika,ketika +dipuja2,dipuja-puja +ga,tidak +kam,kamu +cwe,cewek +smoga,semoga +km,kamu +ngrasain,merasai +yg,yang +rasain,rasai +tp,tapi +aja,saja +nonton,menonton +aja,saja +org,orang +pesen,pesan +aja,saja +karna,karena +ngurusin,mengurusi +yeeee,ya +ityl,itil +hbs,habis +gara2,gara-gara +kyak,kayak +marah2,marah-marah +ma,sama +gw,gue +emang,memang +wenak,enak +sukak,suka +ngarang,mengarang +bnr,benar +donk,dong +gara2,gara-gara +bgt,banget +hdp,hidup +ngga,tidak +kek,kayak +gini,begini +ngehina,menghina +aja,saja +jg,juga +kelas'a,kelasnya +hadeeehhh,aduh +yg,yang +gak,tidak +jing,anjing +lg,lagi +"abal""",abal-abal +"kecil""",kecil-kecil +ori,orisinal +bgt,banget +smua,semua +yg,yang +gtu,begitu +kenceng,kencang +jd,jadi +jd,jadi +kek,kayak +"gtu""an",begitu-gituan +klo,kalo +gmanapun,bagaimanapun +tetep,tetap +aja,saja +trims,terima kasih +yah,ya +kr,kira +td,tadi +nenek2,nenek-nenek +taux,taunya +cepet,cepat +pantes,pantas +aja,saja +liat,lihat +urat2nya,urat-uratnya +ketarik,tertarik +emang,memang +ngorbanin,mengorbankan +eksprsi,ekspresi +gitulah,begitulah +klo,kalo +yg,yang +gtu,begitu +ga,tidak +ga,tidak +kyk,kayak +klo,kalo +yg,yang +"foto""",foto-foto +mamas,mas +klo,kalo +ngilangin,menghilangkan +jg,juga +ajah,saja +gada,tidak ada +bandingin,bandingkan +yg,yang +tua2,tua-tua +ajah,saja +bgt,banget +kasian,kasihan +cantik2,cantik-cantik +yg,yang +ketarik,tertarik +pake,pakai +terus2an,terus-terusan +cepet,cepat +udah,sudah +udah,sudah +gak,tidak +liat2,lihat-lihat +sampe,sampai +liatnya,lihatnya +waduhh,waduh +"bawa""",bawa-bawa +badingkan,membandingkan +mba,mbak +gtu,begitu +yah,ya +sampe,sampai +gmana,bagaimana +gtu,begitu +kyk,kayak +aja,saja +sy,saya +udah,sudah +ga,tidak +yah,ya +aja,saja +klo,kalo +klo,kalo +aja,saja +udah,sudah +yahh,ya +bgmana,bagaimana +udah,sudah +aja,saja +ga,tidak +sy,saya +ngakak,mengakak +sy,saya +ga,tidak +ngehina,menghina +mba,mbak +aja,saja +yg,yang +gini,begini +yg,yang +ga,tidak +ngurus,mengurus +ga,tidak +org,orang +klo,kalo +yg,yang +trus,terus +yg,yang +yah,ya +lanjutin,lanjutkan +aja,saja +org,orang +yg,yang +byk,banyak +krn,karena +org,orang +yg,yang +byk,banyak +org,orang +yg,yang +ributin,meributkan +cwo,cowok +cwo,cowok +brantem,berantem +gara2,gara-gara +belain,membela +kek,kayak +gitu,begitu +keliatan,kelihatan +lipetan,lipatan +kek,kayak +gitu,begitu +keliatan,kelihatan +lipetan,lipatan +ngomong,mengomong +yg,yang +g,tidak +ampuun,ampun +yya,ya +sya,saya +mba,mbak +fto,foto +sm,sama +"nenek""",nenek-nenek +bneraan,benaran +kageeet,kaget +sangaaattt,sangat +rmbuut,rambut +nenek2,nenek-nenek +km,kamu +nt,nanti +walik,balik +sma,sama +emg,memang +oma2,oma-oma +kirain,mengira +skrng,sekarang +bgt,banget +knp,kenapa +d,di +kyk,kayak +nenek2,nenek-nenek +in,ini +kellen,kalian +y,ya +beneran,benaran +mbk,mbak +kyk,kayak +sm,sama +nyerocos,mencerocos +aje,saja +ibuk2,ibu-ibu +gak,tidak +ngomenin,mengomentari +iseng2,iseng-iseng +aja,saja +tp,tapi +gk,tidak +nyangka,menyangka +makasih,terima kasih +yaaa,ya +ga,tidak +udah,sudah +niyyyyhhhh,nih +yg,yang +besarin,membesarkan +yg,yang +yg,yang +yg,yang +cantik2,cantik-cantik +mlah,malah +kek,kayak +gak,tidak +sexi2,seksi-seksi +blh,boleh +pkai,pakai +blik,balik +kk,kakak +cb,coba +kenape,kenapa +yg,yang +kkak,kakak +syg,sayang +jgn,jangan +ladenin,meladeni +org,orang +yg,yang +bkin,bikin +kkak,kakak +jdi,jadi +skit,sakit +hat,hati +kkak,kakak +syg,sayang +kkak,kakak +bnyak,banyak +kkak,kakak +jilbabnye,jilbabnya +kk,kakak +ledkin,meledeki +tpi,tapi +yah,ya +digabtikan,digantikan +yg,yang +skrg,sekarang +jng,jangan +ngumung,mengomong +dikemanain,dikemanakan +ilang-in,hilangkan +udh,sudah +bener,benar +pake,pakai +dri,dari +pda,pada +ga,tidak +pke,pakai +ny,nya +ga,tidak +ga,tidak +prinadi,pribadi +org,orang +lahh,lah +luh,lu +yep,ya +dri,dari +u,lu +"ngaku""",mengaku-ngaku +aja,saja +helooooo,halo +ngaku,mengaku +aja,saja +gak,tidak +u,lu +loe,lo +emang,memang +yaa,ya +rempong,repot +org,orang +sndiri,sendiri +ud,sudah +bener,benar +aja,saja +masi,masih +aja,saja +palingann,palingan +berjinah,berzina +munaafikk,munafik +urusn,urusan +org,orang +mw,mau +pk,pakai +kaga,kagak +benar2,benar-benar +aja,saja +mba,mbak +gak,tidak +dg,dengan +saudra,saudara +trganggu,terganggu +kk,kakak +bhijab,berhijab +lgi,lagi +rmbut,rambut +km,kamu +dn,dan +yuu,yuk +dlm,dalam +hri,hari +lepasin,melepas +pokonya,pokoknya +lucuuuu,lucu +d,di +smentara,sementara +ka,kak +d,di +aja,saja +d,di +yg,yang +ka,kak +ga,tidak +ka,kak +ka,kak +dengerin,mendengarkan +org,orang +biarin,biarkan +yg,yang +kaka,kakak +d,di +ka,kak +ka,kak +kaka,kakak +yg,yang +kaka,kakak +org,orang +kaka,kakak +pdhl,padahal +waduhhh,waduh +kasian,kasihan +org2,orang-orang +yg,yang +ursan,urusan +org,orang +sudab,sudah +dwsa,dewasa +pnya,punya +agma,agama +ap,apa +yg,yang +jd,jadi +jgn,jangan +rpt2,repot-repot +sbr,sabar +aja,saja +y,ya +ngaji,mengaji +yg,yang +yg,yang +nmr,nomor +yg,yang +romantiz,romantis +ituu,itu +tdk,tidak +murmer,murah meriah +pensaran,penasaran +dapet,dapat +aja,saja +kepoin,kepoi +baru2,baru-baru +tlp,telepon +bosaan,bosan +udah,sudah +pake,pakai +gak,tidak +yuukk,yuk +kitaaa,kita +ga,tidak +konsul,konsultasi +gak,tidak +yok,yuk +lainnyaa,lainnya +jt,juta +perbulannn,perbulan +penyebab2,penyebab-penyebab +ko,kok +lg,lagi +mba,mbak +tp,tapi +nyupir,menyopir +ko,kok +blm,belum +tdk,tidak +yukk,yuk +dn,dan +cpt,cepat +steess,stres +"gara""",gara-gara +jngan,jangan +kwatir,kawatir +tengah2,tengah-tengah +duetin,duet +dongg,dong +kyk,kayak +duetin,duet +dongg,dong +mudaa,muda +sm,sama +ajah,saja +dapetin,mendapati +tdk,tidak +nyari,mencari +ga,tidak +gini,begini +bgt,banget +sebenernya,sebenarnya +mrka,mereka +skrg,sekarang +dgn,dengan +skrg,sekarang +silsturahmi,silaturahmi +jg,juga +tdk,tidak +yg,yang +dgn,dengan +ank2nya,anak-anaknya +tdk,tidak +ank,anak +yg,yang +yg,yang +tdk,tidak +yg,yang +sdh,sudah +sgt,sangat +mrka,mereka +dgn,dengan +ank2nya,anak-anaknya +tdk,tidak +dijkt,dijakarta +tdk,tidak +may,mau +tdk,tidak +bs,bisa +sebenernya,sebenarnya +cums,cuma +yg,yang +bs,bisa +jg,juga +bs,bisa +dgn,dengan +undangan2,undangan-undangan +jd,jadi +bener2,benar-benar +dgn,dengan +bgt,banget +dlm,dalam +past,pasti +sgt,sangat +kgn,kangen +wktunya,waktunya +dr,dari +anknya,anaknya +krn,karena +tdk,tidak +krn,karena +blg,bilang +byk,banyak +yg,yang +tp,tapi +wktunya,waktunya +yg,yang +blm,belum +sebenernya,sebenarnya +klo,kalo +krn,karena +jd,jadi +kluarga,keluarga +ayukk,yuk +gk,tidak +ngucapin,mengucapkan +kaka,kakak +yg,yang +bru,baru +udah,sudah +nntn,menonton +bgus,bagus +bgt,banget +filmny,filmnya +dapet,dapat +nari,menari +sampe,sampai +nangis,menangis +liat,lihat +udah,sudah +nonton,menonton +sukak,suka +pengen,pengin +nonton,menonton +kl,kalo +yg,yang +blm,belum +ntn,menonton +uda,sudah +nonton,menonton +ntn,menonton +blm,belum +ntn,menonton +nobar,menonton bareng +udah,sudah +kemariin,kemarin +yaaaa,ya +makasih,terima kasih +liat,lihat +d,di +lagiiii,lagi +knpp,kenapa +udh,sudah +ga,tidak +ad,ada +lggi,lagi +lma,lama +gaprgi,tidak pergi +nnton,menonton +aaahh,ah +lagii,lagi +klau,kalau +d,di +makasih,terima kasih +yaa,ya +ga,tidak +yaa,ya +makasih,terima kasih +yaaa,ya +iyaaa,iya +yaa,ya +ndak,indak +pa2,apa-apa +maen,main +tgl,tanggal +dtunggu,ditunggu +ngga,tidak +bkin,bikin +baper,bawa perasaan +masa2,masa-masa +thn,tahun +gak,tidak +kepikir,terpikir +gak,tidak +nonton,menonton +liat,lihat +bgt,banget +aja,saja +liat,lihat +liat,lihat +ad,ada +tp,tapi +seruuu,seru +kaka,kakak +bgt,banget +lucuuuu,lucu +bgt,banget +nonton,menonton +bgt,banget +bagusss,bagus +bgt,banget +sampe,sampai +nonton,menonton +kek,kayak +jg,juga +bgs,bagus +thn,tahun +udh,sudah +ade,adek +emeshh,gemas +th,tahun +kaya,kayak +udah,sudah +astagaaaaaa,astaga +thn,tahun +ka,kak +kaka,kakak +pacarn,pacaran +bgni,begini +ktg,kita +th,tahun +aja,saja +pacaranya,pacarannya +udah,sudah +bgt,banget +mbaak,mbak +gitu,begitu +ka,kak +kka,kakak +ngalah,mengalah +de,dek +klo,kalo +yg,yang +udh,sudah +th,tahun +kek,kayak +gini,begini +bru,baru +ngucapin,mengucapkan +pacarane,pacarannya +rusakkk,rusak +udah,sudah +th,tahun +ehh,eh +yaaampunnn,ya ampun +th,tahun +th,tahun +gini,begini +ga,tidak +aja,saja +kaga,kagak +inii,ini +taun,tahun +yg,yang +thn,tahun +tuwek,tua +mukae,mukanya +ultahe,ultahnya +yaaa,ya +bgtt,banget +thn,tahun +tp,tapi +udh,sudah +udh,sudah +mlh,malah +kliatanya,kelihatannya +thn,tahun +apaa,apa +udh,sudah +ky,kaya +q,aku +liat,lihat +bingiit,banget +pcaranya,pacarannya +udah,sudah +kyk,kayak +taon,tahun +uda,sudah +bermaksut,bermaksud +tp,tapi +karna,karena +emang,memang +tampialannya,tampilannya +nikaah,nikah +aja,saja +thn,tahun +udh,sudah +"anak""",anak-anak +lha,lah +kek,kayak +gini,begini +pankapan,kapan-kapan +gpp,tidak apa-apa +keliatan,kelihatan +pake,pakai +kl,kalo +yg,yang +ngumbar,mengumbar +dhpusin,dihapuskan +smua,semua +tteh,teteh +bsa,bisa +istiqomah,istikamah +aamiin,amin +wihh,wih +gak,tidak +nyangka,menyangka +bangett,banget +ga,tidak +nyesel,menyesal +dehh,deh +cepet,cepat +yg,yang +ga,tidak +aja,saja +semangaatt,semangat +mudah2,mudah-mudah +dlm,dalam +liat,lihat +udah,sudah +mnutup,menutup +yg,yang +rb,ribu +dgn,dengan +msh,masih +yg,yang +blm,belum +apus,hapus +gak,tidak +aja,saja +hub,hubungi +saranin,menyarankan +pake,pakai +naek,naik +ka,kak +pake,pakai +ka,kak +tehh,teh +lbih,lebih +pake,pakai +hijabb,hijab +dapet,dapat +ttp,tetap +yaa,ya +mksh,terima kasih +udh,sudah +nyaranin,menyarankan +pake,pakai +dr,dari +skrng,sekarang +ja,saja +mksh,terima kasih +ka,kak +yah,ya +udah,sudah +saranin,menyarankan +udah,sudah +makasih,terima kasih +yah,ya +ka,kak +ka,kak +bngatt,banget +kaaa,kak +pake,pakai +liat,lihat +fto,foto +kk,kakak +trus,terus +dii,di +yah,ya +kk,kakak +ooh,oh +fto,foto +yg,yang +g,tidak +pke,pakai +d,di +hapusin,hapuskan +y,ya +lohhh,loh +syg,sayang +skali,sekali +kaka,kakak +ngeuh,engah +klo,kalo +th,tahun +yaah,ya +nnti,nanti +d,di +yg,yang +ka,kak +smoga,semoga +yaa,ya +mbaa,mbak +sneng,senang +liat,lihat +kyk,kayak +mbaa,mbak +mutusin,memutuskan +bwt,buat +lbh,lebih +lg,lagi +ngapus,menghapus +fto2,foto-foto +sblm,sebelum +awl,awal +dr,dari +mmg,memang +hrus,harus +trs,terus +sll,selalu +d,di +smoga,semoga +d,di +d,di +trus,terus +bngkit,bangkit +mncoba,mencoba +lbh,lebih +smoga,semoga +ttp,tetap +skli,sekali +lg,lagi +bingit,banget +dapetin,mendapati +dri,dari +slmt,selamat +smoga,semoga +mmg,memang +tdk,tidak +tpi,tapi +yg,yang +org,orang +waww,wow +mantapp,mantap +pake,pakai +gituan,begituan +cobaaa,coba +gak,tidak +nyesel,menyesal +ga,tidak +cobaa,coba +aja,saja +buktiin,membuktikan +ga,tidak +ngebuktiin,membuktikan +wahhh,wah +mba,mbak +mutuain,memutuskan +udh,sudah +smw,semua +foto2,foto-foto +yg,yang +blm,belum +pake,pakai +ttp,tetap +mba,mbak +geuliiiiiiis,geulis +euyyyyy,euy +dlm,dalam +ntar,entar +ga,tidak +gini,begini +engga,tidak +widihh,idih +bingit,banget +iyaa,iya +kerenn,keren +kek,kayak +gitu,begitu +uuh,uh +pengen,pengin +dr,dari +td,tadi +ngomongin,mengomongkan +kek,kayak +gini,begini +ngakak,mengakak +udah,sudah +kek,kayak +tp,tapi +emg,memang +ngirim,mengirim +ngidam,mengidam +waah,wah +sampis,sampah habis +emang,memang +gt,begitu +maapin,maaf +yak,ya +ngebala,bala +mampuussss,mampus +bgt,banget +diihhhh,dih +bgt,banget +hrusnya,harusnya +sabal,sabar +udahlah,sudahlah +kauuuu,kau +gini,begini +pengen,pengin +yg,yang +kya,kaya +gini,begini +teruss,terus +trus,terus +uhhh,uh +km,kamu +sabaro,sabar +yaa,ya +bangettt,banget +eehhh,eh +gni,begini +nyadar,menyadar +nyadar,menyadar +yg,yang +lucuuuuu,lucu +liat,lihat +bangett,banget +iiii,ih +kreative,kreatif +bangrt,banget +liat,lihat +azekkkk,asik +pinter,pintar +bngettt,banget +pinter,pintar +ga,tidak +kuaaatt,kuat +bhet,banget +bhs,bahasa +inggrisny,inggrisnya +bgt,banget +ni,ini +bangeeet,banget +bngt,banget +dgn,dengan +yg,yang +slm,salam +tmn2,teman-teman +dsna,disana +iyaap,iya +mksih,terima kasih +orang2,orang-orang +mnjadi,menjadi +nga,tidak +canyk,cantik +"bner""",benar-benar +bgt,banget +udah,sudah +poko,pokok +prodac,produk +yg,yang +ga,tidak +bkal,bakal +nyesell,menyesal +dehh,deh +poko,pokok +bbrp,beberapa +yg,yang +blg,bilang +gt,begitu +ciyusss,serius +de,deh +gw,gue +liat,lihat +yg,yang +lw,lu +kmaren,kemarin +ka,kak +ni,ini +kek,kayak +cyin,cinta +bgt,banget +yaa,ya +cantikkk,cantik +bangetttttttt,banget +sexi,seksi +bundaaaa,bunda +cantinya,cantiknya +gx,tidak +kyk,kayak +kyk,kayak +cantikkkk,cantik +woww,wow +bangett,banget +ja,saja +pake,pakai +bangget,banget +baget,banget +pingin,pengin +bettt,banget +kyknya,kayaknya +subhanalloh,subhanallah +cantiiillx,cantik +bundaaaa,bunda +tetep,tetap +mudaa,muda +brapa,berapa +sihh,sih +bgt,banget +bangetttt,banget +cantikkk,cantik +bgttt,banget +alaami,alami +sabaarrr,sabar +cantiiiikk,cantik +bangeeeeetttt,banget +ciee,cie +tp,tapi +ttp,tetap +kyk,kayak +yg,yang +inii,ini +cannntikk,cantik +banggett,banget +yaa,ya +nyaaa,nya +cakepp,cakep +bgt,banget +thnan,tahunan +tpi,tapi +cuantik,cantik +bgt,banget +msh,masih +seger,segar +ky,kaya +cantikkkkkk,cantik +bangetttt,banget +segerr,segar +bangett,banget +wouww,wow +bgt,banget +cantiiikkk,cantik +bgt,banget +knp,kenapa +udh,sudah +aja,saja +gak,tidak +kya,kaya +njir,anjir +ngikutin,mengikuti +pen,pengin +gw,gue +catokin,catok +gak,tidak +catokin,catok +catokin,catok +udah,sudah +sm,sama +lg,lagi +ikut2an,ikut-ikutan +kya,kaya +jg,juga +dr,dari +jg,juga +yuukk,yuk +promil,program hamil +aminn,amin +ksh,kasih +sll,selalu +jg,juga +utk,untuk +comment2nya,komentar-komentarnya +jg,juga +teman2,teman-teman +aja,saja +yg,yang +tiba2,tiba-tiba +"benar""",benar-benar +aamiin,amin +ak,aku +yukk,yuk +lohhh,loh +besar2an,besar-besaran +aja,saja +tp,tapi +klo,kalo +gak,tidak +yaaaa,ya +seneng,senang +pedes,pedas +seneng,senang +udah,sudah +rb,ribu +yaaa,ya +pengen,pengin +emang,memang +slalu,selalu +tdk,tidak +knsul,konsultasi +dg,dengan +dn,dan +dg,dengan +yg,yang +sdh,sudah +brhasil,berhasil +dlm,dalam +wktu,waktu +konsul,konsultasi +gratisss,gratis +ga,tidak +nyesel,menyesal +pake,pakai +kaka,kakak +hilangin,menghilangkan +bener2,benar-benar +yg,yang +pake,pakai +artis2,artis-artis +smoga,semoga +aja,saja +dipake,dipakai +org2,orang-orang +yg,yang +yg,yang +cm,cuma +kontak2,kontak-kontak +utk,untuk +dijadiin,dijadikan +aja,saja +yg,yang +dgn,dengan +dpt,dapat +org,orang +yg,yang +tp,tapi +dptnya,dapatnya +bs,bisa +dpt,dapat +jd,jadi +bs,bisa +dpt,dapat +gimana,bagaimana +jd,jadi +sy,saya +rb,ribu +udah,sudah +dpt,dapat +dgn,dengan +bgt,banget +yg,yang +bs,bisa +bkin,bikin +applikasi,aplikasi +udah,sudah +dgn,dengan +jg,juga +jd,jadi +aja,saja +mba,mbak +skarang,sekarang +sampe,sampai +pingin,pengin +gak,tidak +kereeeeen,keren +bngeet,banget +gemesinnnnn,menggemaskan +bner,benar +bner,benar +bnget,banget +udah,sudah +prodaknya,produknya +poko,pokok +prodak,produk +yg,yang +ga,tidak +bkal,bakal +nyesell,menyesal +dehh,deh +poko,pokok +yg,yang +yg,yang +dapet,dapat +dgn,dengan +ongkiir,ongkir +thn,tahun +thn,tahun +thn,tahun +thn,tahun +utk,untuk +ga,tidak +bgt,banget +ajaibbbbb,ajaib +saayyyyy,say +besarin,membesarkan +aja,saja +pake,pakai +belanjaa,belanja +disiniii,disini +lohhhh,loh +yg,yang +trims,terima kasih +utk,untuk +gak,tidak +aja,saja +ga,tidak +dn,dan +ganteung,ganteng +mba,mbak +pengen,pengin +pake,pakai +ga,tidak +nyesel,menyesal +ngerasa,merasa +ga,tidak +pede,percaya diri +bhgia,bahagia +iiiiiiiiii,ih +lucuukk,lucu +bgt,banget +keciil,kecil +yakinn,yakin +pentass,pentas +ngarep,mengharap +kepoin,kepo +lucu2,lucu-lucu +ngelahirin,melahirkan +gak,tidak +paksain,memaksa +biasaa,biasa +makasih,terima kasih +ngelahirin,melahirkan +gak,tidak +paksain,memaksa +biasaa,biasa +makasih,terima kasih +pengen,pengin +besarin,membesarkan +hub,hubungi +aja,saja +dgn,dengan +yg,yang +pengen,pengin +makasih,terima kasih +udah,sudah +rekomendasiin,merekomendasikan +bener,benar +pake,pakai +ga,tidak +makasih,terima kasih +ka,kak +ka,kak +makasih,terima kasih +udah,sudah +rekomendasiin,merekomendasikan +bener,benar +ka,kak +ga,tidak +makasih,terima kasih +q,ku +kk,kakak +bosaan,bosan +udah,sudah +pake,pakai +gak,tidak +yuukk,yuk +kitaaa,kita +knp,kenapa +yoo,ya +ak,aku +murmer,murah meriah +bgt,banget +hy,hai +teman2,teman-teman +pake,pakai +aja,saja +testinya,testimoninya +yaa,ya +yg,yang +lbh,lebih +jd,jadi +mengirusi,mengurusi +khdpn,kehidupan +yg,yang +keliatan,kelihatan +bgt,banget +gk,tidak +ngalah,mengalah +ngelawan,melawan +sm,sama +betuuuuulllllllllllllllll,betul +yg,yang +banyak2,banyak-banyak +mba,mbak +bisax,bisanya +cmn,cuman +nyerocos,mencerocos +aja,saja +emang,memang +uda,sudah +bener,benar +ngapain,mengapai +klo,kalo +cmn,cuman +mw,mau +ngatain,mengatai +yg,yang +sebenernya,sebenarnya +yg,yang +ga,tidak +tp,tapi +dgn,dengan +klmbutan,kelembutan +jgn,jangan +gw,gue +pgn,pengin +yg,yang +dlu,dulu +aja,saja +uda,sudah +seburuk2,seburuk-buruk +psti,pasti +dy,dia +sperti,seperti +dlu,dulu +dy,dia +ngurusin,mengurusi +nda,indak +ngurusin,mengurusi +sampe,sampai +msh,masih +diingetin,diingatkan +ntar,entar +udah,sudah +yg,yang +ngingetin,mengingatkan +ngeriiiiii,ngeri +ma,sama +nich,nih +ngingetin,mengingatkan +akhlah,akhlak +aja,saja +klo,kalo +org,orang +yg,yang +blg,bilang +ngapain,mengapai +ngurusin,mengurusi +org,orang +ntar,entar +elo2,lo-lo +yg,yang +mandiin,memandikan +yg,yang +nguburin,menguburkan +emg,memang +ngurus,mengurus +subhannallah,subhanallah +mb,mbak +kl,kalo +yg,yang +gk,tidak +ngebedain,membedakan +ngurusin,mengurusi +mb,mbak +tp,tapi +urusanny,urusannya +aja,saja +krn,karena +lg,lagi +dg,dengan +tuhanny,tuhannya +aja,saja +yg,yang +brtngkar,bertengkar +knp,kenapa +sllu,selalu +hny,hanya +krn,karena +pndapat,pendapat +teman2,teman-teman +yg,yang +sling,saling +mnding,mending +nmbah,menambah +temen,teman +looh,loh +drpd,daripada +nambah,menambah +kata2,kata-kata +emang,memang +lha,lah +sharusnya,seharusnya +jg,juga +sndiri,sendiri +bangeett,banget +mngkannya,mangkanya +klw,kalau +ngelakuin,melakukan +apa2,apa-apa +dlu,dulu +klo,kalo +kmu,kamu +bkn,bukan +scr,secara +gk,tidak +sbg,sebagai +yg,yang +tp,tapi +yg,yang +yg,yang +udah,sudah +ngelakuin,melakukan +udah,sudah +tp,tapi +skrg,sekarang +nyia2in,menyia-nyiakan +yg,yang +gini,begini +yg,yang +brarti,berarti +org,orang +yg,yang +gk,tidak +krn,karena +dgn,dengan +mndpat,mendapat +kpuasan,kepuasan +dr,dari +pdahal,padahal +gk,tidak +sgampang,segampang +mlepaskan,melepaskan +ngapain,mengapai +org,orang +diurusin,diurusi +org,orang +ga,tidak +pantes,pantas +indo,indonesia +ga,tidak +bgt,banget +prnh,pernah +dl,dulu +jgn,jangan +trll,terlalu +sk,suka +hdp,hidup +org,orang +hdp,hidup +sndr,sendiri +dl,dulu +sellow,selow +idup,hidup +krn,karena +sbbrnya,sebenarnya +yg,yang +idup,hidup +org,orang +smpe,sampai +bs,bisa +bkn,bukan +komen2,komen-komen +kasar2,kasar-kasar +bgt,banget +qt,kita +lbh,lebih +dr,dari +org,orang +pengen,pengin +rb,ribu +semangattt,semangat +teruss,terus +tp,tapi +dlu,dulu +beneran,benaran +yak,ya +ka,kak +nungguin,menunggu +baper,bawa perasaan +baper,bawa perasaan +baper,bawa perasaan +nnti,nanti +klo,kalo +blm,belum +testi,testimoni +banyaak,banyak +beneran,benaran +bujukk,bujuk +pala,kepala +d.apa,diapa +apain,apai +aj,saja +tetep,tetap +emng,memang +dsar,dasar +y,nya +udh,sudah +dri,dari +dlu,dulu +benetaran,benaran +gaa,tidak +kaka,kakak +bneran,benaran +gmn,bagaimana +si,sih +krenn,keren +abis,habis +kraya,karya +brg,bareng +lg,lagi +donk,dong +ka,kak +lg,lagi +kaka,kakak +udah,sudah +ngebantu,membantu +pake,pakai +yg,yang +kaka,kakak +kenalin,kenalkan +makasih,terima kasih +beneran,benaran +knp,kenapa +g,tidak +d,di +janjutin,lanjutkan +kaa,kak +yukk,yuk +kepppoin,kepoi +dehh,deh +tp,tapi +ttp,tetap +nnti,nanti +makasih,terima kasih +recommendasi,rekomendasi +prodak,produk +gak,tidak +pake,pakai +btulan,betulan +kha,kah +nggak,tidak +jd,jadi +rmbut,rambut +s,si +g,tidak +pjg,panjang +mna,mana +s,sih +tutupin,menutupi +"gara""",gara-gara +ga,tidak +pake,pakai +pake,pakai +wik,wig +beneran,benaran +kaka,kakak +ithu,itu +ttap,tetap +yukk,yuk +udh,sudah +artis2,artis-artis +knp,kenapa +botakin,botaki +yah,ya +ny,nya +botakkkk,botak +gitu,begitu +botakin,botaki +k,kak +gk,tidak +kk,kakak +kk,kakak +bnrn,benaran +skrg,sekarang +pake,pakai +week,wig +yukk,yuk +kerennn,keren +yg,yang +gawul,gaul +modes,modis +kitaa,kita +klian,kalian +brayyy,bray +yg,yang +kcantikan,kecantikan +klian,kalian +brayyy,bray +jalan2,jalan-jalan +mauuu,mau +donk,dong +bronis,brondong manis +rb,ribu +gapunya,tidak punya +jt,juta +nambah,menambah +bkln,bakalan +pingin,pengin +udah,sudah +kecantikanga,kecantikannya +loooh,loh +barang2,barang-barang +gk,tidak +hiii,hai +piiiilih,pilih +aja,saja +pokonya,pokoknya +deeh,deh +aja,saja +anak2,anak-anak +yaaaa,ya +zama,zaman +kn,kan +udh,sudah +gnti,ganti +yg,yang +bru,baru +nmnya,namanya +tapo,tapi +kuy,yuk +gkk,tidak +lg,lagi +petinggi2,petinggi-petinggi +slalu,selalu +wota2,wota-wota +yg,yang +yg,yang +yg,yang +knpa,kenapa +indefendet,independen +gak,tidak +tempat2,tempat-tempat +yg,yang +kyk,kayak +taik,tahi +yg,yang +slalu,selalu +anak2,anak-anak +bkn,bukan +yuuuukkk,yuk +bener,benar +lg,lagi +dituutup,ditutup +silahkan,silakan +gak,tidak +gak,tidak +mbaa,mbak +ngayal,mengkhayal +trlalu,terlalu +ngayal,mengkhayal +aja,saja +smvk,sempak +liat,lihat +aja,saja +bkal,bakal +jd,jadi +knyataan,kenyataan +amiinn,amin +njrittt,anjir +aja,saja +yah,ya +aminnn,amin +selmt,selamat +taz,atas +klhran,kelahiran +ank,anak +pertma,pertama +kk,kakak +ats,atas +kelahuran,kelahiran +ank,anak +pertamany,pertamanya +slmt,selamat +k,kak +k,kak +mamax,mamanya +iyah,iya +ankx,anaknya +cantip,cantik +lucuuuuu,lucu +donk,dong +yg,yang +donk,dong +yg,yang +ortu,orang tua +amiiiin,amin +lucuuu,lucu +lucuuuu,lucu +ihh,ih +la,lah +skli,sekali +kluarga,keluarga +kpn,kapan +ak,aku +pnya,punya +yg,yang +iyha,iya +dedek,adek +yg,yang +cantikkk,cantik +y,ya +kk,kakak +mb,mbak +ats,atas +klahiran,kelahiran +slmat,selamat +aamiin,amin +slamat,selamat +jdi,jadi +ortu,orang tua +kk,kakak +smoga,semoga +jdi,jadi +ank,anak +mmbanggakan,membanggakan +ortuny,orang tuanya +aamiin,amin +lucuuu,lucu +bngtt,banget +selmat,selamat +ae,saja +mnjdi,menjadi +bnda,bunda +k,kak +ma,sama +trus,terus +nyah,nya +aamiin,amin +bgt,banget +prtamax,pertamanya +kk,kakak +moqa,moga +jdi,jadi +yq,yang +brbakti,berbakti +yaaa,ya +gewlaaaaa,gila +ea,ya +kk,kakak +kk,kakak +ny,nya +yg,yang +sm,sama +lg,lagi +yg,yang +skrg,sekarang +"sama""",sama-sama +basodaraa,bersaudara +yg,yang +gamau,tidak mau +sm,sama +dr,dari +ori,orisinal +hargs,harga +perhatiin,perhatikan +abal2,abal-abal +kasian,kasihan +bgt,banget +bantuim,bantu +maen,main +adl,adalah +pelwak,pelawak +pake,pakai +karna,karena +pgn,pengin +kenceng,kencang +ga,tidak +tp,tapi +temen,teman +nyaranin,menyarankan +emang,memang +pake,pakai +udah,sudah +keliatan,kelihatan +saranin,menyarankan +km,kamu +hub,hubungi +ngasih,mengasih +ayoo,ayo +aamiiin,amin +suces,sukses +slalu,selalu +y,ya +yg,yang +jgn,jangan +km,kamu +sucses,sukses +ga,tidak +ga,tidak +garemin,garami +trus,terus +gapake,tidak pakai +ayoo,ayo +hubunggi,hubungi +gak,tidak +ngiringan,mengiringi +q,ku +gk,tidak +maluuu,malu +udah,sudah +gk,tidak +makasih,terima kasih +kaka,kakak +klo,kalo +karir.a,karirnya +iyaa,iya +aamin,amin +teruz,terus +yg,yang +udh,sudah +dpt,dapat +atw,atau +atw,atau +kaka,kakak +kemarn,kemarin +cobain,mencoba +udah,sudah +pake,pakai +ga,tidak +emang,memang +pake,pakai +udah,sudah +dapet,dapat +bgt,banget +makasih,terima kasih +kaka,kakak +recomendasinya,rekomendasinya +promoo,promo +ongkirr,ongkir +ga,tidak +yaa,ya +makasih,terima kasih +udah,sudah +kenalin,mengenalkan +pake,pakai +makasih,terima kasih +jd,jadi +gak,tidak +gk,tidak +dri,dari +mskasih,terima kasih +kaka,kakak +kaka,kakak +yg,yang +dlm,dalam +yg,yang +wowwwww,wow +kaka,kakak +kemarn,kemarin +cobain,mencoba +udah,sudah +pake,pakai +ga,tidak +emang,memang +pake,pakai +udah,sudah +dapet,dapat +kaka,kakak +bgt,banget +makasih,terima kasih +kaka,kakak +recomendasinya,rekomendasinya +seeeemua,semua +bener,benar +bener,benar +yg,yang +dipake,dipakai +skrng,sekarang +gak,tidak +pake,pakai +jd,jadi +dri,dari +yg,yang +rekomendasiin,rekomendasikan +mksh,terima kasih +makasih,terima kasih +nyaranin,menyarani +bener,benar +bener,benar +makasih,terima kasih +udh,sudah +kenalin,mengenalkan +jd,jadi +gak,tidak +dlm,dalam +jd,jadi +pede,percaya diri +skrng,sekarang +makasih,terima kasih +wowwww,wow +kaka,kakak +kemarn,kemarin +udah,sudah +pake,pakai +ga,tidak +emang,memang +pake,pakai +udah,sudah +dapet,dapat +kaka,kakak +bgt,banget +makasih,terima kasih +kaka,kakak +recomendasinya,rekomendasinya +artis2,artis-artis +batesin,batasi +atw,atau +ga,tidak +ilang,hilang +ilang,hilang +bijin,bikin +ga,tidak +pd,percaya diri +yg,yang +yg,yang +ga,tidak +pengen,pengin +gitu,begitu +ngeidealin,mengidealkan +bdn,badan +kmi,kami +bhn,bahan +dlm,dalam +hr,hari +mngkin,mungkin +menghilangkn,menghilangkan +utk,untuk +utk,untuk +lucuuuuu,lucu +bgt,banget +yg,yang +lucu2,lucu-lucu +makasih,terima kasih +udh,sudah +kenalin,mengenalkan +jd,jadi +gak,tidak +ga,tidak +ga,tidak +gasalah,tidak salah +gak,tidak +yg,yang +yg,yang +yg,yang +brsma,bersama +le,boleh +ugha,juga +aja,saja +cogan,cowok ganteng +semuaaa,semua +keknya,kayaknya +mo,mau +dijadiin,dijadikan +ni,nih +yg,yang +kn,kan +heeee,hai +ayoo,ayo +nonton,menonton +blm,belum +dgr,dengar +yg,yang +jd,jadi +udah,sudah +nobar,menonton bareng +dateng,datang +rame2,rame-rame +yam,ya +rame2,rame-rame +tai,tahi +kek,kayak +bkan,bukan +yg,yang +yg,yang +kartunin,kartun +tpi,tapi +jdulnya,judulnya +udah,sudah +pen,pengin +bacaaaa,baca +nonton,menonton +kta,kita +bgus,bagus +kyaknya,kayaknya +leh,boleh +ugha,juga +bgt,banget +km,kamu +aq,aku +gw,gue +abez,habis +nihh,nih +donk,dong +baaaaaang,bang +sy,saya +sy,saya +bgt,banget +sm,sama +kk,kakak +ka,kak +ampunnnnn,ampun +ganteeeeng,ganteng +bgt,banget +entahhh,entah +gimanaaaa,bagaimana +bs,bisa +kesampean,kesampaian +baper,bawa perasaan +pdhl,padahal +udah,sudah +bgt,banget +duuhh,duh +gantengnyaaaa,gantengnya +mrip,mirip +kk,kakak +bgtt,banget +kpn2,kapan-kapan +yah,ya +yg,yang +gini,begini +yg,yang +indo,indonesia +pans,fan +sampe,sampai +kuliyh,kuliah +gini,begini +kk,kakak +gantengg,ganteng +bngett,banget +kakk,kak +kenalin,kenalkan +yah,ya +alm,almarhum +gantengkuuuuuu,gantengku +atassss,atas +y,ya +orgny,orangnya +yha,ya +kaaaaa,kak +aja,saja +owalaah,walah +gt,begitu +bgt,banget +nengok,menengok +awk,awak +nengok,menengok +aslinyo,aslinya +liat,lihat +yg,yang +dr,dari +dlm,dalam +alissnyaa,alisnya +masaaaa,masa +adenya,adeknya +nggak,tidak +aja,saja +komuk,muka +elo,lo +kalahnye,kalahnya +yah,ya +males,malas +udh,sudah +gimana,bagaimana +yah,ya +maapin,maafi +milih,memilih +ngga,tidak +yoo,ya +udah,sudah +tp,tapi +iyaaaa,iya +aja,saja +udh,sudah +kpn,kapan +ga,tidak +liat,lihat +fakultass,fakultas +ngga,tidak +liat,lihat +smrg,semarang +liat,lihat +org,orang +yg,yang +gw,gue +inget,ingat +elu,lu +inget,ingat +aja,saja +aja,saja +serem,seram +g,tidak +unyu2,unyu-unyu +loe,lo +yah,ya +loe,lo +koq,kok +loe,lo +ohh,oh +yg,yang +d,di +blg,bilang +pdahal,padahal +yyaaa,ya +trs,terus +blg,bilang +lagii,lagi +klo,kalo +pdahal,padahal +insonniaaa,insomnia +udah,sudah +klo,kalo +udah,sudah +adekx,adeknya +dri,dari +liat,lihat +nihh,nih +bgtttt,banget +karna,karena +pengen,pengin +aamiin,amin +liat,lihat +azaab,azab +gk,tidak +bosen,bosan +nonton,menonton +km,kamu +jgn,jangan +gini,begini +yah,ya +ngakak,mengakak +gksi,tidak sih +ga,tidak +gw,gue +ga,tidak +gokil,gila +ko,kok +sampe,sampai +gituh,begitu +yah,ya +udh,sudah +ngakak,mengakak +aja,saja +gk,tidak +bosen,bosan +liat,lihat +emang,memang +bener,benar +bgt,banget +skrg,sekarang +aja,saja +ahhh,ah +ga,tidak +greged,greget +alamiii,alami +bgt,banget +emang,memang +pake,pakai +kenceng,kencang +sm,sama +ka,kak +pngen,pengin +bgt,banget +ktemu,ketemu +lngsung,langsung +sm,sama +ka,kak +yuuu,yuk +ga,tidak +d,di +ihh,ih +ditayangin,ditayangkan +lg,lagi +ko,kok +pake,pakai +itungan,hitungan +bgt,banget +gak,tidak +aja,saja +cantikkk,cantik +jd,jadi +"ms""",masa-masa +yg,yang +meranin,memerankan +baper,bawa perasaan +bgt,banget +dlu,dulu +nontonny,menontonnya +kaka,kakak +pake,pakai +gak,tidak +nyesel,menyesal +ka,kak +dlm,dalam +emank,memang +udh,sudah +rekomendasiiin,merekomendasikan +jd,jadi +gak,tidak +lg,lagi +bgt,banget +gemesin,menggemaskan +yg,yang +naksir,menaksir +sista2,sista-sista +agan2,agan-agan +yg,yang +pengen,pengin +ga,tidak +makasih,terima kasih +bikinin,membikin +kk,kakak +kaka,kakak +yaaaa,ya +pake,pakai +sy,saya +jg,juga +pingin,pengin +sm,sama +tpi,tapi +ngg,tidak +cntik,cantik +pake,pakai +nanget,banget +ngeditnya,mengeditnya +himana,bagaimana +ngeditnya,mengeditnya +gimana,bagaimana +waww,wow +kereen,keren +pengen,pengin +kekgini,kayak begini +yah,ya +ga,tidak +bsa,bisa +ngasih,mengasih +apa2,apa-apa +kakk,kak +kakk,kak +smoga,semoga +bgt,banget +subhanaallahh,subhanallah +sangat2,sangat-sangat +bgtt,banget +subhanalloh,subhanallah +terharuuuu,terharu +subhanalloh,subhanallah +kpn,kapan +"kata""",kata-kata +gtu,begitu +subhanallahhh,subhanallah +kpn,kapan +yaaa,ya +tlsn,tulisan +gini,begini +subhanalloh,subhanallah +nagiss,menangis +yaa,ya +kaaa,kak +aneut,banget +trrharu,terharu +skli,sekali +sllu,selalu +subhnallah,subhanallah +yng,yang +yaa,ya +allahh,allah +suamiii,suami +aminnnn,amin +aaahh,ah +dcintai,dicintai +spt,seperti +yaa,ya +smga,semoga +sll,selalu +mnjadi,menjadi +klrga,keluarga +yg,yang +liat'y,lihatnya +bngeet,banget +yaa,ya +alloh,allah +smoga,semoga +bnr2,benar-benar +smg,semoga +klian,kalian +lggeng,langgeng +trs,terus +smga,semoga +samara,sakinah mawadah rahman +romantisny,romatisnya +bgd,banget +duhhh,duh +pcar,pacar +kakanga,kakaknya +kakanya,kakaknya +udah,sudah +makasih,terima kasih +udah,sudah +lyt,lihat +bener,benar +yakk,ya +slw,selow +aja,saja +cpa,siapa +gak,tidak +yg,yang +mna,mana +emng,memang +gak,tidak +akuu,aku +ama,sama +aja,saja +gak,tidak +ngomong,mengomong +aelah,alah +msih,masih +aja,saja +nyari,mencari +idupnya,hidupnya +bner,benar +blom,belum +pakek,pakai +ngatain,mengatai +orabg,orang +ngingetin,mengingatkan +yg,yang +nyari,mencari +kaa,kak +iyha,iya +makasih,terima kasih +yha,ya +mukanyaa,mukanya +kakanya,kakaknya +jwb,jawab +kakakny,kakaknya +maluuu,malu +pnya,punya +indo,indonesia +yg,yang +jgn,jangan +dri,dari +tpi,tapi +bnyak,banyak +yg,yang +yg,yang +yg,yang +tu,itu +pakek,pakai +woooyy,woy +kw,kau +ngelucu,melucu +yoo,ya +bukak,buka +mato,mata +kw,kau +klo,kalo +emang,memang +kw,kau +yo,ya +yg,yang +kyk,kayak +kw,kau +kareno,karena +bnyak,banyak +orng,orang +cino,cina +munafikk,munafik +kw,kau +tu,itu +taik,tahi +tu,itu +yg,yang +bnyak,banyak +yg,yang +laen,lain +meker,mikir +meker,mikir +dak,indak +indoneaia,indonesia +tu,itu +dak,indak +dak,indak +nyalahin,menyalahkan +benarin,membenarkan +emang,memang +jaadii,jadi +apo,apa +nyo,nya +dak,indak +yg,yang +aja,saja +jgn,jangan +sndiri,sendiri +yg,yang +sndri,sendiri +mba,mbak +miara,memiara +pake,pakai +ngaku,mengaku +gak,tidak +mba,mbak +karna,karena +mba,mbak +jalanani,menjalani +aja,saja +gak,tidak +mba,mbak +yg,yang +mba,mbak +yg,yang +gak,tidak +mba,mbak +yg,yang +mba,mbak +sy,saya +yg,yang +yg,yang +smua,semua +dalil2,dalil-dalil +sunah2,sunah-sunah +tp,tapi +sy,saya +sm,sama +sdah,sudah +pake,pakai +lg,lagi +benda2,benda-benda +sj,saja +lg,lagi +krn,karena +bilang2,bilang-bilang +tp,tapi +gk,tidak +ngomong,mengomong +ngaca,mengaca +emangnya,memangnya +knp,kenapa +rumpiin,rumpi +ngaca,mengaca +hotak,botak +gk,tidak +yg,yang +ikut2,ikut-ikut +ngaca,mengaca +yg,yang +km,kamu +nahhh,nah +klo,kalo +yg,yang +yg,yang +jg,juga +napa,kenapa +jg,juga +jg,juga +jg,juga +yg,yang +ciptain,menciptakan +liat,lihat +mbk,mbak +org,orang +yg,yang +mba,mbak +klo,kalo +ngak,tidak +masing2,masing-masing +jawabanny,jawabannya +jgn,jangan +ngurusin,mengurusi +dech,deh +urusin,urus +aj,saja +masing2,masing-masing +aduhhh,aduh +ajj,saja +yg,yang +mikir2,memikir-mikir +klo,kalo +gk,tidak +jdi,jadi +klo,kalo +melihara,memelihara +gw,gue +tpi,tapi +gw,gue +jga,juga +sma,sama +ihh,ih +oooh,oh +lg,lagi +bru,baru +klo,kalo +liat,lihat +hidupx,hidupnya +yg,yang +skrg,sekarang +lg,lagi +aja,saja +ngefans,fan +dripda,daripada +gara2,gara-gara +ehh,eh +skrg,sekarang +gara2,gara-gara +tdk,tidak +lsg,langsung +ngefans,fan +klo,kalo +ngefans,fan +liat,lihat +uztad,ustad +gw,gue +gw,gue +anjingnyaa,anjingnya +yaa,ya +miara,memiara +pegang2,pegang-pegang +jg,juga +gpp,tidak apa-apa +tp,tapi +ilmh,ilmu +ttg,tentang +smga,semoga +sll,selalu +dlm,dalam +menasehati,menasihati +suka2,suka-suka +kelus,kali +syang,sayang +hubngan,hubungan +sma,sama +atw,atau +gak,tidak +ga,tidak +yg,yang +y,ya +jd,jadi +knpa,kenapa +gak,tidak +yg,yang +sy,saya +tp,tapi +ga,tidak +yg,yang +yg,yang +dr,dari +melihara,memelihara +apalg,apalagi +silahkan,silakan +yg,yang +yg,yang +kl,kalo +koclak,kocak +gokil,gila +gak,tidak +tuhh,tuh +mrip,mirip +bget,banget +bju,baju +tauu,tau +yaa,ya +cinggirnyaaaa,cinggirnya +bcnda,bercanda +yahhhh,ya +miripppp,mirip +ngakak,mengakak +njir,anjir +pede,percaya diri +bgt,banget +sedikitlaahh,sedikitlah +aja,saja +yaa,ya +skitar,sekitar +miriplahhhhhh,miriplah +syediih,sedih +yg,yang +bgt,banget +mirp,mirip +sihh,sih +cma,cuma +baju.a,bajunya +wiiiihhhhhhhhh,wih +gak,tidak +karna,karena +wahh,wah +bngett,banget +emng,memang +koq,kok +cmn,cuman +aj,saja +inget,ingat +aja,saja +jg,juga +sm,sama +kren,keren +ttp,tetap +gantheng,ganteng +synk,sayang +tnya,tanya +gilak,gila +gw,gue +ngfans,fan +ama,sama +miriiippp,mirip +bgt,banget +idungnya,hidungnya +miriip,mirip +wooow,wow +keliatan,kelihatan +panglingg,pangling +bgt,banget +ni,ini +artisnyaa,artisnya +dtggu,ditunggu +yah,ya +trnyata,ternyata +sm,sama +ahh,ah +bgt,banget +tehh,teh +yg,yang +kereeen,keren +bangettt,banget +bangeeettt,banget +ka,kak +bener,benar +bener,benar +bgt,banget +smpe,sampai +ga,tidak +bosen,bosan +liat,lihat +bgtttttttt,banget +ka,kak +bgt,banget +ga,tidak +rapih,rapi +yak,ya +buuun,bun +yg,yang +ayoo,ayo +iyak,iya +mba,mbak +ga,tidak +bgtttt,banget +iyaappps,iya +pake,pakai +pengen,pengin +bgt,banget +gini,begini +bgtt,banget +kmaren,kemarin +sukse,sukses +nih2,nih-nih +yg,yang +baruu,baru +yg,yang +bgt,banget +sm,sama +nyesel,menyesal +kyknya,kayaknya +kecptan,kecepatan +scra,secara +dl,dulu +blm,belum +klw,kalau +yg,yang +yah,ya +rmbutnya,rambutnya +pdhl,padahal +skr,sekarang +bnyk,banyak +giti,begitu +bgt,banget +bener2,benar-benar +penganten,pengantin +yg,yang +wrn,warna +klo,kalo +makasih,terima kasih +bgt,banget +yg,yang +ne,ini +bgt,banget +ny,nya +kluar,keluar +cantikkkkk,cantik +liat,lihat +kk,kakak +gokil,gila +ngakak,mengakak +liat,lihat +fans,fan +loksyut,lokasi syuting +amfun,ampun +ngakak,mengakak +k',kak +asuuu,asu +bgt,banget +ngakak,mengakak +trs,terus +kuu,ku +dsini,disini +ajaa,saja +yaa,ya +knp,kenapa +kmu,kamu +bsa,bisa +tp,tapi +klw,kalau +dibls,dibalas +ceklist,ceklis +terusss,terus +km,kamu +gbs,tidak bisa +d,di +tlvn,telepon +ak,aku +jg,juga +gbs,tidak bisa +trkrim,terkirim +ad,ada +yg,yang +ak,aku +omongin,omongkan +bangat,banget +ngakak,mengakak +kelaluan,kelakuan +liat,lihat +yg,yang +knp,kenapa +guanteng,ganteng +cucok,cocok +rempong,repot +c,sih +gueee,gue +udh,sudah +semangatt,semangat +yaaa,ya +haduh,aduh +mlz,malas +liat,lihat +emak2,emak-emak +ga,tidak +bngt,banget +sm,sama +tante2,tante-tante +yg,yang +yg,yang +knp,kenapa +ga,tidak +knp,kenapa +kepoh,kepo +yg,yang +jalanin,menjalani +aja,saja +ngk,tidak +repong,repot +gk,tidak +thu,itu +ngrusin,mengurusi +ma,sama +dech,deh +ma,sama +y,ya +pdhl,padahal +liat,lihat +sm,sama +dua2nya,dua-duanya +tp,tapi +ama,sama +iyaa,iya +ama,sama +yg,yang +iy,iya +sm,sama +drpd,daripada +sm,sama +knp,kenapa +hrs,harus +sm,sama +pdhl,padahal +sdh,sudah +aja,saja +dnk,dong +lg,lagi +aja,saja +msh,masih +sma,sama +sma,sama +yg,yang +mf,maaf +senyumna,senyumnya +siapaa,siapa +ama,sama +nggak,tidak +udah,sudah +ama,sama +ka,kak +sm,sama +yg,yang +yg,yang +gausah,tidak usah +ngejelek2in,menjelek-jelekkan +ka,kak +ni,ini +hotx,hotnya +aja,saja +gak,tidak +ngatur,mengatur +ngatur,mengatur +amiiiin,amin +aja,saja +yg,yang +cwnya,ceweknya +sm,sama +nyaaa,nya +inget,ingat +mbaaahhh,mbah +tetep,tetap +tdk,tidak +gitu,begitu +ak,aku +aj,saja +tdk,tidak +pasangn,pasangan +yg,yang +sttus,status +ko,kok +aama,sama +k,kak +ma,sama +ka,kak +lgi,lagi +hadeuuhhhh,aduh +nenek2,nenek-nenek +msh,masih +inget,ingat +jgn,jangan +trus,terus +lebar2,lebar-lebar +ga,tidak +ka,kak +sm,sama +sm,sama +sm,sama +dpt,dapat +yg,yang +mgkn,mungkin +sstu,sesuatu +yg,yang +sm,sama +yg,yang +trbaik,terbaik +sll,selalu +bhgia,bahagia +serasiii,serasi +ma,sama +gimana,bagaimana +gitu,begitu +emang,memang +tp,tapi +cocokx,cocoknya +jd,jadi +emakx,emaknya +bangett,banget +iniiiiiiiiiiiiiii,ini +sebenernya,sebenarnya +ajah,saja +cocookk,cocok +dr,dari +pd,pada +pengen,pengin +aj,saja +sma,sama +kll,kalo +gini,begini +cucok,cocok +bgt,banget +lahh,lah +sampe,sampai +lahhh,lah +arghhh,ah +gak,tidak +gak,tidak +sm,sama +sm,sama +aja,saja +gak,tidak +ihh,ih +kaka,kakak +yaa,ya +ungkapin,ungkapkan +udah,sudah +yaa,ya +merrid,merit +yoo,ya +emang,memang +neh,nih +cocokkkkk,cocok +bgt,banget +ma,sama +bgt,banget +ma,sama +cocokkkk,cocok +kk,kakak +lbih,lebih +ma,sama +dri,dari +it,itu +bgt,banget +sm,sama +aja,saja +yaolohh,ya allah +aee,saja +lahhh,lah +naggung,menanggung +battt,banget +aja,saja +ka,kak +lohh,loh +bangat,banget +am,sama +klo,kalo +am,sama +tah,teh +kyk,kayak +ade,adek +luthuna,lucunya +gt,begitu +ga,tidak +ttg,tentang +kek,kayak +ngakak,mengakak +liat,lihat +nyaa,nya +gakuat,tidak kuat +gini,begini +dmn,dimana +nahan,menahan +sie,sih +astagaaa,astaga +nahan,menahan +dgr,dengar +ngakak,mengakak +klo,kalo +nahan,menahan +ntar,entar +jg,juga +bsa,bisa +trnyata,ternyata +yg,yang +suaraynyaa,suaranya +gak,tidak +duanyaa,duanya +km,kamu +anjayyyy,anjay +ngakak,mengakak +gitu,begitu +bgt,banget +bgt,banget +ntar,entar +denger,dengar +gw,gue +gabisa,tidak bisa +sampe,sampai +denger,dengar +pengen,pengin +udh,sudah +gw,gue +abis,habis +lagiii,lagi +coeggg,coeg +yg,yang +kyk,kayak +ancur,hancur +koplak,kocak +uaaasssiiiik,asik +boss,bos +bsk,besok +bgtu,begitu +ihhh,ih +gemes,gemas +dehh,deh +jd,jadi +pengen,pengin +nyubit,mencubit +y,ya +ehh,eh +nyubit,mencubit +dede,adek +y,ya +gw,gue +jg,juga +gemez,gemas +ka,kak +dede,adek +dmn,dimana +mksh,terima kasih +nyaa,nya +jdi,jadi +pgen,pengin +tium,cium +gemeeezzzz,gemas +d,di +ppa,papa +jugaa,juga +haduh,aduh +nda,indak +q,ku +sm,sama +papahhhnya,papahnya +gini,begini +ga,tidak +duuuhh,duh +ato,atau +yaaa,ya +ginting,ganteng +bingiiittzz,banget +iiihh,ih +yah,ya +njir,anjir +dedeknya,adeknya +pengen,pengin +hadeeuh,aduh +geneeee,begini +yooow,ya +gemezz,gemas +yaaaa,ya +jd,jadi +pengen,pengin +nyaaa,nya +yg,yang +scr,secara +hub,hubungi +bnget,banget +y,ya +bgni,begini +gayax,gayanya +gemes,gemas +yg,yang +infpyunnnn,ampun +bangeeeet,banget +lucuuuu,lucu +paraaah,parah +papiii,papi +kamunyaa,kamunya +ngambek,mengambek +gtuu,begitu +pengen,pengin +ngets,banget +ni,ini +lgu,lagu +ap,apa +sm,sama +sm,sama +mba,mbak +donk,dong +haduuuh,aduh +kapaan,kapan +yaah,ya +kesampean,kesampaian +nginjek,menginjak +putihnyaa,putihnya +rasain,merasai +ituuuu,itu +omaaaaaaakk,oma +pengen,pengin +loncattt,loncat +dmn,dimana +pengen,pengin +ituu,itu +yg,yang +prnh,pernah +didatengin,didatangi +abg,abang +kmariiin,kemarin +looh,loh +kaan,kan +kaak,kak +ayoklaa,ayolah +kapaan,kapan +yng,yang +kmren,kemarin +ga,tidak +ga,tidak +jelasssss,jelas +km,kamu +kaliiin,kalian +bg,bang +sama2,sama-sama +bg,bang +uda,sudah +ny,nya +sama2,sama-sama +dmana,dimana +tu,itu +bg,bang +ujunggg,ujung +dlu,dulu +yukk,yuk +yukk,yuk +deket,dekat +deket,dekat +laaaah,lah +aja,saja +kaakaaaa,kakak +td,tadi +nnton,menonton +srruu,seru +ka,kak +kannn,kan +ga,tidak +jmpaaaa,jumpa +yukkk,yuk +haii,hai +kek,kayak +tp,tapi +kitaa,kita +naek,naik +kek,kayak +tu,itu +yah,ya +pgen,pengin +ndak,indak +sukaaaa,suka +syukaaakkk,suka +dengeeriin,dengarkan +sukaa,suka +njir,anjir +yakaliiiii,yakali +bgt,banget +kek,kayak +kmu,kamu +emang,memang +klo,kalo +ntar,entar +dateng,datang +kerennnn,keren +aduhhh,aduh +tohh,toh +ngerti,mengerti +atuhh,atuh +pengen,pengin +bener,benar +gak,tidak +ngertii,mengerti +d,di +nyanyiin,nyanyikan +gara2,gara-gara +dgr,dengar +nyanyiin,menyanyi +jd,jadi +bgt,banget +jg,juga +ama,sama +inii,ini +apalgi,apalagi +klo,kalo +yg,yang +nyanyiin,menyanyi +bgt,banget +akuh,aku +yg,yang +gak,tidak +senengg,senang +bgtt,banget +sm,sama +jd,jadi +ga,tidak +cocokk,cocok +ny,nya +mesrany,mesranya +knp,kenapa +ny,nya +baget,banget +ma,sama +ndak,indak +ngak,tidak +cocokkk,cocok +aja,saja +jendes,janda +ngggk,tidak +coccokk,cocok +mantapp,mantap +yaaa,ya +liat,lihat +aja,saja +ga,tidak +ga,tidak +sm,sama +udah,sudah +ngatain,mengatai +ga,tidak +tp,tapi +kasian,kasihan +mba,mbak +iiihhhhh,ih +msa,masa +ska,suka +sma,sama +jendesss,janda +yg,yang +smpe,sampai +klepek2,klepek-klepek +gak,tidak +bngtttt,banget +kek,kayak +ponakn,ponakan +sma,sama +tantee,tante +ad,ada +yg,yang +gadiss,gadis +tpy,tapi +jnda,janda +bngy,banget +sihh,sih +bujngn,bujangan +ngp,mengapa +mw,mau +sm,sama +yaa,ya +dlam,dalam +smua,semua +diluarann,diluaran +yg,yang +trbaik,terbaik +hri,hari +qt,kita +padetan,padatan +"gara""",gara-gara +pake,pakai +rekomendasiin,rekomendasikan +makasih,terima kasih +aja,saja +udah,sudah +yg,yang +msh,masih +sm,sama +jgn,jangan +bawa2,bawa-bawa +knp,kenapa +yg,yang +dapetin,mendapatkan +udh,sudah +bnyak,banyak +ko,kok +nyobain,mencoba +ngerti,mengerti +pcaran,pacaran +gajelas,tidak jelas +kya,kaya +sma,sama +kalii,kali +aja,saja +gak,tidak +gak,tidak +ngomong,mengomong +bgt,banget +gak,tidak +bgt,banget +yg,yang +emang,memang +ny,nya +klian,kalian +mreka,mereka +klian,kalian +jd,jadi +trus,terus +trus,terus +klian,kalian +klian,kalian +pcaran,pacaran +dgn,dengan +or,orang +yg,yang +tdak,tidak +prcuma,percuma +klian,kalian +koment,komentar +dpt,dapat +gak,tidak +emng,memang +ny,nya +klian,kalian +coment,komentar +dpt,dapat +dr,dari +sma,sama +"nenek""",nenek-nenek +bgt,banget +ihh,ih +ga,tidak +mbk,mbak +mbaaa,mbak +aja,saja +langgengggg,langgeng +tp,tapi +tp,tapi +gak,tidak +g,tidak +sekaliiiii,sekali +baper,bawa perasaan +gak,tidak +emang,memang +tp,tapi +serem,seram +jg,juga +tp,tapi +yg,yang +ngomong,mengomong +aja,saja +gak,tidak +mikirin,memikirkan +"kata""",kata-kata +anehhh,aneh +udah,sudah +digituin,dibegitukan +yaa,ya +ngomong,mengomong +bkn,bukan +d,di +mreka,mereka +hayal,khayal +yg,yang +ga,tidak +emg,memang +ga,tidak +boong,bohong +beneran,benaran +inget,ingat +bedua,berdua +inget,ingat +ama,sama +cocokk,cocok +liat,lihat +lgi,lagi +gitu,begitu +yaah,ya +ga,tidak +aja,saja +bapeerr,bawa perasaan +nyaa,nya +liat,lihat +lagu2,lagu-lagu +mbk,mbak +keinget,teringat +wihhh,wih +kerenn,keren +merekak,mereka +aja,saja +udah,sudah +mrk,mereka +kek,kayak +yg,yang +lucuuu,lucu +kreeenn,keren +abisss,habis +bnget,banget +kaka,kakak +lucuuu,lucu +kerennnnn,keren +kocaaaakkk,kocak +abiiiss,habis +nyadar,menyadar +pass,pas +lahh,lah +personill,personil +lengkapp,lengkap +ampuuun,ampun +ngakak,mengakak +bangett,banget +kk,kakak +iiihhhh,ih +kyk,kayak +gini,begini +gokil,gila +flim.a,filmnya +trusan.a,terusannya +kcantikan,kecantikan +dh,dah +pkai,pakai +tdung,tudung +wktu,waktu +blm,belum +pake,pakai +smg,semoga +bgt,banget +nonton,menonton +bgt,banget +yg,yang +slalu,selalu +gangguin,mengganggu +tp,tapi +slalu,selalu +pgn,pengin +nonton,menonton +gk,tidak +y,ya +yg,yang +d,di +dri,dari +lgi,lagi +da,ada +gak,tidak +pake,pakai +bgt,banget +yg,yang +gak,tidak +pake,pakai +mbk,mbak +lgkah2,langkah-langkah +skrg,sekarang +tu,itu +gmana,bagaimana +mbk,mbak +taw,tau +kta,kita +cntiiikkk,cantik +udah,sudah +gak,tidak +pengen,pengin +nonton,menonton +liat,lihat +yg,yang +tegaar,tegar +nihhh,nih +smpe,sampai +sktlrang,sekarang +msih,masih +bget,banget +kangeeeennnnn,kangen +slalu,selalu +nangiss,menangis +klo,kalo +nonton,menonton +kaa,kak +sjk,sejak +sya,saya +tambh,tambah +yg,yang +nangiis,menangis +teruss,terus +maen,main +bgt,banget +cantikkkkkkkk,cantik +nyaaaaaaaaa,nya +kaa,kak +sbgai,sebagai +bundaa,bunda +gueee,gue +duuhhhhh,duh +kangeenn,kangen +sm,sama +kyk,kayak +gaada,tidak ada +kerjaan,pekerjaan +yg,yang +ngucapin,mengucapkan +yg,yang +bgt,banget +bkn,bukan +klo,kalo +gk,tidak +kmu,kamu +klo,kalo +kmu,kamu +yaaa,ya +malsudnya,maksudnya +kyak,kayak +lluuccuu,lucu +siappa,siapa +martabakk,martabak +tuhh,tuh +tuhh,tuh +akuu,aku +jgn,jangan +bgt,banget +skali2,sekali-kali +yg,yang +kueren2,keren-keren +gini,begini +jgn,jangan +abgnya,abangnya +bgt,banget +muke,muka +gk,tidak +nii,ini +bangettt,banget +kek,kayak +gini,begini +gile,gila +inget,ingat +ngomong,mengomong +yg,yang +jd,jadi +dapet,dapat +warkop,warung kopi +nggak,tidak +hayuu,hayo +kenapaa,kenapa +ilang2an,hilang-hilangan +gitu,begitu +liat,lihat +aja,saja +ayooook,ayo +astagaaaaaaaa,astaga +bener2,benar-benar +nonton,menonton +inihhh,ini +bgt,banget +ama,sama +klw,kalau +oom,om +g,tidak +ak,aku +kek,kayak +mansetan,bermanset +cmn,cuman +keliatan,kelihatan +bgt,banget +yg,yang +meranin,memerankan +cadasss,cadas +kereeeeennn,keren +"temen""",teman-teman +tp,tapi +telefisi,televisi +yg,yang +jd,jadi +tu,itu +jd,jadi +kgak,kagak +nikmatin,menikmati +nonton,menonton +mantappp,mantap +mbahh,mbah +lbh,lebih +dr,dari +udah,sudah +unyuu,unyu +giitu,begitu +lucuuuuu,lucu +ngilang,menghilang +mtanya,matanya +ga,tidak +kliatan,kelihatan +cpit,sipit +bgt,banget +dee,dek +gak,tidak +brp,berapa +iyaa,iya +bgt,banget +sumvahh,sumpah +bnyak,banyak +bnyak,banyak +cewe,cewek +ngantri,mengantri +engga,tidak +tamvann,tampan +gils,gila +udah,sudah +bgt,banget +yah,ya +km,kamu +yap,ya +bgt,banget +ko,kok +gantengg,ganteng +si,sih +ngakak,mengakak +guaaaaaaa,gua +kerennn,keren +ngakak,mengakak +tuuu,itu +capa,sapa +ngakakkk,mengakak +bgt,banget +liaat,lihat +gantweng,ganteng +ngakak,mengakak +anjjjjjjjj,anjing +bgttt,banget +bgt,banget +tp,tapi +lohhhh,loh +gakwad,tidak kuat +yg,yang +ngakak,mengakak +gw,gue +pengen,pengin +yg,yang +bngt,banget +bs,bisa +seru2,seru-seru +ga,tidak +ngakak,mengakak +iniii,ini +favoriteeee,favorit +bat,banget +udah,sudah +liat,lihat +lg,lagi +adaa,ada +bat,banget +yak,ya +makasih,terima kasih +q,ku +smp,sampai +nangis,menangis +dinyanyiin,dinyanyikan +donk,dong +yg,yang +seruu,seru +nyengir,menyengir +temennya,temannya +bnr,benar +kgn,kangen +smg,semoga +klk,kelak +klian,kalian +brjdh,berjodoh +akhrt,akhirat +kangennnnn,kangen +bgtt,banget +sma,sama +yg,yang +kyk,kayak +gini,begini +kngen,kangen +aja,saja +kangennnn,kangen +kaka,kakak +kngenn,kangen +kangeenn,kangen +kanggen,kangen +sampe,sampai +kangennn,kangen +kangennnnnnn,kangen +udah,sudah +ysh,ya +sm,sama +sypa,siapa +yg,yang +belain,membela +kmu,kamu +kmu,kamu +"bner""",benar-benar +aj,saja +kangeen,kangen +yg,yang +kmi,kami +klo,kalo +mreka,mereka +aminn,amin +orang2,orang-orang +aminn,amin +nangisss,menangis +abg,abang +smoga,semoga +brjodoh,berjodoh +y,ya +kangenn,kangen +kaliann,kalian +yg,yang +barengg,bareng +yg,yang +yg,yang +krna,karena +smpai,sampai +kpnpun,kapanpun +jugaa,juga +mendj,menjadi +aminnn,amin +allahhhh,allah +yah,ya +jd,jadi +pengen,pengin +pake,pakai +merindinggg,merinding +liat,lihat +yg,yang +bhgia,bahagia +amiennnn,amien +pinter,pintar +bgt,banget +iihh,ih +gitu,begitu +pinter,pintar +kpan,kapan +lhir,lahir +udeh,sudah +smoga,semoga +menjdi,menjadi +ank,anak +yg,yang +y,ya +kk,kakak +bngett,banget +debay,adek bayi +bangeer,banget +lafazd,lafaz +skrng,sekarang +jg,juga +pmbyran,pembayaran +plsa,pulsa +ga,tidak +udh,sudah +"dimana""",dimana-mana +adaa,ada +yaa,ya +trs,terus +sokk,sok +yg,yang +km,kamu +tp,tapi +ngambekan,ambekan +sma,sama +ngeliat,melihat +hub,hubungan +sma2,sama-sama +ngom,mengomong +q,ku +siapaa,siapa +toloollll,tolol +yg,yang +siapaa,siapa +tauu,tau +bodhooo,bodoh +peliharaaaa,pelihara +kmu,kamu +yaa,ya +sampe,sampai +kek,kayak +makanyaa,makanya +klo,kalo +ngom,mengomong +"ati""",hati-hati +kemakan,termakan +bodhoo,bodoh +siihhh,sih +pura2,pura-pura +ga,tidak +mksd,maksud +sm,sama +aq,aku +andaaa,anda +padahall,padahal +buktinyaaa,buktinya +smuaaa,semua +aq,aku +yg,yang +pinter,pintar +doank,doang +lg,lagi +ngambeknya,mengambeknya +gara2,gara-gara +loksyut,lokasi syuting +tar,entar +lama2,lama-lama +kebongkar,terbongkar +ohh,oh +gtu,begitu +yaa,ya +kmu,kamu +ohh,oh +kerjaan,pekerjaan +kmu,kamu +yaa,ya +"artis""",artis-artis +tapii,tapi +kasiian,kasihan +gk,tidak +adaa,ada +yg,yang +kmu,kamu +km,kamu +ga,tidak +ngikutin,mengikuti +aq,aku +trs,terus +gk,tidak +diladenin,diladeni +comen,komen +ngtif,negatif +jgn,jangan +comntr,komentar +dg,dengan +kaliannn,kalian +sgt,sangat +brdiri,berdiri +syg,sayang +gt,begitu +bgtttt,banget +knp,kenapa +ga,tidak +blg,bilang +sma,sama +karna,karena +lbh,lebih +yg,yang +nyari,mencari +sgt,sangat +bgt,banget +karna,karena +mreka,mereka +tpi,tapi +gk,tidak +uda,sudah +aja,saja +skrg,sekarang +lg,lagi +deket,dekat +sma,sama +pda,pada +mulutny,mulutnya +yg,yang +lucu2,lucu-lucu +msalah,masalah +dlu,dulu +y,ya +trserh,terserah +yg,yang +pnting,penting +skrg,sekarang +smua,semua +udh,sudah +sprti,seperti +gmn,bagaimana +waduuuuh,waduh +yg,yang +smpai,sampai +yg,yang +ngedukung,mendukung +yach,ya +yg,yang +aja,saja +foto2,foto-foto +ilang,hilang +msh,masih +blm,belum +klo,kalo +uda,sudah +udh,sudah +msh,masih +ni,ini +aja,saja +ga,tidak +dihpus,dihapus +ni,ini +yg,yang +jd,jadi +bwt,buat +mrekaa,mereka +tauu,tau +gaje,tidak jelas +ngurusin,mengurusi +cakeeeeppp,cakep +benerr,benar +"brg""",bareng-bareng +baanget,banget +anjaaaayyyyyy,anjay +ni,ini +ingt,ingat +lgu,lagu +ngetsz,banget +yg,yang +kemaren,kemarin +utkmu,untukmu +yg,yang +dlm,dalam +yah,ya +tetep,tetap +anj,anjing +merekaa,mereka +belain,membela +kann,kan +dieee,dia +yaahh,ya +gini,begini +klo,kalo +bgt,banget +alloh,allah +yg,yang +hijap,hijab +smua,semua +dri,dari +pd,pada +ngurusin,mengurusi +org,orang +hijap,hijab +ternodain,ternodai +suka2,suka-suka +x,kali +wadaaw,waduh +komen2,komen-komen +ngeri2,ngeri-ngeri +yg,yang +km,kamu +mn,mana +yg,yang +bnr,benar +mn,mana +yg,yang +slh,salah +tp,tapi +kt2,kata-kata +yg,yang +pd,pada +agk,agak +tdk,tidak +bgs,bagus +tdk,tidak +tp,tapi +skli,sekali +lg,lagi +tlg,tolong +slhkan,salahkan +jilbabny,jilbabnya +tp,tapi +slhkan,salahkan +perilakuny,perilakunya +bkn,bukan +dr,dari +ketaatanny,ketaatannya +kepda,kepada +sblmny,sebelumnya +bljr,belajar +jd,jadi +pedulilaaaah,pedulilah +ingetin,mengingatkan +ga,tidak +terjrumus,terjerumus +dlm,dalam +karna,karena +yg,yang +kek,kayak +gini,begini +stuju,setuju +bnyak,banyak +yg,yang +temen,teman +yg,yang +gitu,begitu +sebenernya,sebenarnya +aja,saja +yg,yang +sbb,sebab +tp,tapi +aq,aku +lg,lagi +dlu,dulu +tp,tapi +igtlah,ingatlah +dtgkan,datangkan +tp,tapi +aq,aku +smoga,semoga +sperti,seperti +dlu,dulu +aq,aku +yg,yang +dlu,dulu +aq,aku +kpd,kepada +smg,semoga +org,orang +ga,tidak +ngerti,mengerti +kasi,kasih +aja,saja +trus,terus +dy,dia +berhijap,berhijab +ngk,tidak +dy,dia +emang,memang +udh,sudah +bener,benar +knp,kenapa +dy,dia +yg,yang +bnyk,banyak +gk,tidak +org,orang +jgn,jangan +dri,dari +benahin,membenahi +ngomong,mengomong +ga,tidak +temen,teman +yg,yang +ga,tidak +krn,karena +ga,tidak +bener,benar +kasi,kasih +kmu,kamu +yg,yang +lg,lagi +ngerti,mengerti +krn,karena +ohhhh,oh +yg,yang +tp,tapi +gk,tidak +bener,benar +org,orang +yapp,ya +yg,yang +udah,sudah +ga,tidak +emang,memang +tp,tapi +kn,kan +aja,saja +jauhh,jauh +bingitt,banget +klw,kalau +trims,terima kasih +yg,yang +buka2an,buka-bukaan +stiap,setiap +pst,pasti +liat,lihat +tp,tapi +ga,tidak +org,orang +pst,pasti +dy,dia +ato,atau +tdk,tidak +ngembali,kembali +pake,pakai +donk,dong +stiap,setiap +pst,pasti +liat,lihat +sp,sapa +yg,yang +bilng,bilang +lg,lagi +kerennn,keren +nyangka,menyangka +trs,terus +yaa,ya +semngat,semangat +amiin,amin +mw,mau +pengen,pengin +kk,kakak +lekong,laki +bgt,banget +kmu,kamu +g,tidak +kacauuuu,kacau +ngimpi,mimpi +yaa,ya +owh,oh +ad,ada +d,di +gk,tidak +d,di +ni,ini +org,orang +gak,tidak +y,ya +yah,ya +udah,sudah +ngerampas,merampas +syg,sayang +lg,lagi +sm,sama +elu,lu +udah,sudah +ngehancurin,menghancurkan +y,ya +skrg,sekarang +ngungkit2,mengungkit-ungkit +g,tidak +mlu,malu +org,orang +gw,gue +g,tidak +slah,salah +mba,mbak +yg,yang +gak,tidak +nyadar,menyadar +kaleee,kali +dmn,dimana +sbg,sebagai +d,di +sm,sama +tp,tapi +y,ya +qm,kamu +sm,sama +sndiri,sendiri +gak,tidak +laki2,laki-laki +laen,lain +aja,saja +mksd,maksud +bingit,banget +caranga,caranya +yg,yang +ga,tidak +usa,usah +dipikirin,dipikirkan +yg,yang +mreka,mereka +yg,yang +uda,sudah +yg,yang +tp,tapi +cantikk,cantik +lg,lagi +nunduk,menunduk +ny,nya +y,ya +trus,terus +g,tidak +kyk,kayak +tembemmm,tembem +lucuuuuuuuuuu,lucu +bundaaa,bunda +pngn,pengin +nyubitt,mencubit +hay,hai +yg,yang +jls2,jelas-jelas +supeer,super +sampe,sampai +sekrang,sekarang +"bener""",benar-benar +bgt,banget +mksh,terima kasih +udah,sudah +ksh,kasih +jd,jadi +gak,tidak +mksh,terima kasih +yg,yang +inginkn,inginkan +brsma,bersama +laki2,laki-laki +yg,yang +ninggalin,meninggalkan +nyesel,menyesal +ampe,sampai +pst,pasti +inni,ini +appa,apa +blm,belum +hayooo,hayo +ttp,tetap +adyem,adem +kluar,keluar +yg,yang +mitnah,memfitnah +gk,tidak +lgsg,langsung +cantiknyaaaaa,cantiknya +ajah,saja +nie,nih +tmbm,tembam +tpi,tapi +ttp,tetap +cntik,cantik +cantix,cantik +z,saja +seger,segar +bnyk,banyak +c,sih +yg,yang +kriput,keriput +g,tidak +jelex,jelek +g,tidak +ngurus,mengurus +drmn,darimana +"laku""",laku-laku +yg,yang +"orang""nya",orang-orangnya +jg,juga +pd,pada +kacian,kasihan +ngak,tidak +diladenin,diladeni +tar,entar +yg,yang +cape,capek +jg,juga +mancing2,memancing-mancing +aja,saja +pake,pakai +diem,diam +tetep,tetap +ak,aku +d,di +gituin,begitukan +lg,lagi +pdahal,padahal +bgt,banget +lupain,melupakan +d,di +bgt,banget +klo,kalo +inget,ingat +lg,lagi +eeeeh,eh +"bner""",benar-benar +ngingetin,mengingatkan +k,ke +tp,tapi +ajja,saja +sperti,seperti +dlu,dulu +jngan,jangan +kpancing,terpancing +lakuin,melakukan +gtu,begitu +cma,cuma +cri,cari +sbenernya,sebenarnya +bkin,bikin +yg,yang +gk,tidak +bgt,banget +klo,kalo +mh,mah +ga,tidak +yg,yang +bnr2,benar-benar +ksih,kasih +cma,cuma +gw,gue +yg,yang +ngerasa,merasa +cantiiik,cantik +mikirinnn,memikirkan +tetep,tetap +yg,yang +syang,sayang +mf,maaf +y,ya +mb,mbak +gak,tidak +w,gue +klo,kalo +bnr,benar +dgn,dengan +"diam""",diam-diam +bw,bawa +pst,pasti +ni,ini +klo,kalo +sampe,sampai +k,ke +akn,akan +mengalahkn,mengalahkan +yg,yang +lg,lagi +skrg,sekarang +jd,jadi +lg,lagi +yaa,ya +iyaa,iya +nyindirin,menyindir +trus,terus +ngambek,mengambek +nee,ini +ndak,indak +smua,semua +temen2,teman-teman +klakuan,kelakuan +tp,tapi +merka,mereka +ga,tidak +ngomong,mengomong +atw,atau +temen,teman +yg,yang +gak,tidak +dgn,dengan +tp,tapi +klo,kalo +dgn,dengan +cm,cuma +aja,saja +msh,masih +byk,banyak +temen,teman +yg,yang +laen,lain +mksdx,maksudnya +shabat,sahabat +yg,yang +jk,jika +brbuat,berbuat +slh,salah +tp,tapi +kl,kalau +sm2,sama-sama +mmberi,memberi +nm,nama +bkn,bukan +sbhabat,sahabat +tp,tapi +pnjerumus,penjerumus +hrs,harus +bs,bisa +bedain,membedakan +mn,mana +yg,yang +tman,teman +shbat,sahabat +dgn,dengan +melakukn,melakukan +mksud,maksud +sya,saya +percya,percaya +yg,yang +seorg,seorang +berkluarga,berkeluarga +seneng,senang +kn,kan +klo,kalo +liat,lihat +rmh,rumah +klian,kalian +dlm,dalam +siapa2,siapa-siapa +yg,yang +fto,foto +ketipu,tertipu +"laki""",laki-laki +gak,tidak +sempet,sempat +yg,yang +mengait2kan,mengait-ngaitkan +taik,tahi +nyir2,nyinyir +gosipin,menggosipkan +org,orang +gk,tidak +trbukti,terbukti +yg,yang +nie,ini +mudah2an,mudah-mudahan +dpt,dapat +tai,tahi +yg,yang +tdk,tidak +dgn,dengan +jgn,jangan +d,di +sllu,selalu +kya,kaya +sendri,sendiri +ttp,tetap +bener,benar +bgt,banget +bntar,bentar +lg,lagi +jg,juga +cepet,cepat +kebongkar,terbongkar +km,kamu +kmu,kamu +bnget,banget +duuuhhh,duh +bgt,banget +cwe,cewek +nmbk,menembak +cwo,cowok +gw,gue +dengerin,dengarkan +gitu,begitu +gakkk,tidak +yg,yang +nyanyiin,menyanyikan +ahh,ah +yaa,ya +tuch,tuh +ampunnnnn,ampun +gokil,gila +abiiiiisssss,habis +tp,tapi +jga,juga +syg,sayang +tikung2,tikung-tikung +ntar,entar +ma,sama +cwok,cowok +cantikk,cantik +bangedd,banget +wuastagah,astaga +bedaaa,beda +jaoooh,jauh +mateeeeeeeeeeee,mati +parsis,persis +dg,dengan +jngn,jangan +sumpeh,sumpah +kk,kakak +jg,juga +yaa,ya +emang,memang +byk,banyak +yg,yang +kek,kayak +bener,benar +yak,ya +bgt,banget +donk,dong +jd,jadi +iyh,iya +k,kak +kmana,kemana +ga,tidak +tetep,tetap +aja,saja +elo,lo +kyk,kayak +skali,sekali +ibuk2,ibu-ibu +cantiqs,cantik +bangetttttttt,banget +gemes,gemas +kecik,kecil +smpai,sampai +nggak,tidak +tp,tapi +tetep,tetap +yg,yang +ga,tidak +tetehh,teteh +brasa,berasa +dr,dari +udh,sudah +bgt,banget +ga,tidak +krn,karena +udah,sudah +benar2,benar-benar +yg,yang +trlihat,terlihat +bhw,bahwa +mmberikan,memberikan +utk,untuk +dn,dan +dlm,dalam +khidupan,kehidupan +kluarga,keluarga +bnget,banget +jdi,jadi +srpti,seperti +yg,yang +dinamakn,dinamakan +org,orang +yg,yang +pst,pasti +seneng,senang +bgt,banget +liatnya,lihatnya +yg,yang +ja,saja +gak,tidak +ma,sama +pdahal,padahal +org,orang +mlu,melulu +sgtu,sebegitu +yg,yang +paati,pasti +th,tahu +yg,yang +jg,juga +kluarga,keluarga +jng,jangan +kutuu,kutu +setelur2nya,setelur-telurnya +yg,yang +bgt,banget +kl,kalo +kluarga,keluarga +ni,ini +seneng,senang +bgt,banget +dech,deh +seneng,senang +bgt,banget +liatnya,lihatnya +ak,aku +yg,yang +khadiran,kehadiran +dlm,dalam +kel,keluarga +dg,dengan +srta,serta +d,di +tmbah,tambah +kcil,kecil +cntik,cantik +mmberi,memberi +kberkahn,keberkahan +kbahagiaan,kebahagiaan +smoga,semoga +tntram,tentram +brsama,bersama +kel,keluarga +hngga,hingga +kl,kalo +ad,ada +yg,yang +brpndapat,berpendapat +mnilai,menilai +trutama,terutama +jgn,jangan +d,di +hiraukn,hiraukan +diamkn,diamkan +sj,saja +hrsny,harusny +mreka,mereka +brsyukur,bersyukur +in,ini +mmberikn,memberikan +utk,untuk +d,di +rasakn,rasakan +d,di +utk,untuk +cari2,cari-cari +kesalahanny,kesalahannya +kekuranganny,kekurangannya +seandainy,seandainya +yg,yang +sdh,sudah +it,itu +trutama,terutama +tiba2,tiba-tiba +matany,matanya +krn,karena +perasaanny,perasaannya +gak,tidak +milih,memilih +sukak,suka +bgt,banget +liat,lihat +mmg,memang +gk,tidak +slh,salah +yaa,ya +dede,adek +yg,yang +diindonesis,diindonesia +seneng,senang +liyatnya,lihatnya +kayahhh,kaya +yg,yang +beneran,benaran +tu,itu +org,orang +tai,tahi +gw,gue +hrs,harus +ala2,ala-ala +ala2,ala-ala +indo,indonesia +kk,kakak +nonton,menonton +yook,yuk +yoookkkk,yuk +siihh,sih +elus2,elus-elus +asliiiii,asli +nonton,menonton +aduuhhhh,aduh +baper,bawa perasaan +yha,ya +yg,yang +engga,tidak +ampuuun,ampun +yg,yang +ngatain,mengatai +belom,belum +ngaca,mengaca +ngomong,mengomong +diajarin,diajari +bgt,banget +yg,yang +ngatain,mengatai +dengerin,mendengarkan +gk,tidak +sampe,sampai +yaaa,ya +liat,lihat +ngehina,menghina +gini,begini +lucu2,lucu-lucu +ngatain,mengatai +d,di +rmh,rumah +ga,tidak +bgt,banget +ngatain,mengatai +ga,tidak +padahl,padahal +knp,kenapa +kasian,kasihan +ga,tidak +doank,doang +tpi,tapi +kasian,kasihan +udahlah,sudahlah +bgt,banget +jelekin,menjelekkan +org,orang +org,orang +yg,yang +ngatain,mengatai +kek,kayak +gitu,begitu +nggak,tidak +ngaca,mengaca +dikatain,dikatai +kek,kayak +org,orang +ngatain,mengatai +org,orang +btul,betul +tu,itu +mrk,mereka +gimana,bagaimana +ga,tidak +d,di +sekolahin,sekolahkan +astagaaaa,astaga +ank,anak +gak,tidak +ortu,orang tua +"kecil""",kecil-kecil +da,dah +jd,jadi +jgn,jangan +karna,karena +klo,kalo +dr,dari +donk,dong +yg,yang +"keren""",keren-keren +ngomongnya,mengomongnya +engga,tidak +kejahatn,kejahatan +bhwa,bahwa +slam,salam +ngatain,mengatai +ngelewati,melewati +gak,tidak +yaaaa,ya +kalu,kalau +kalu,kalau +jngan,jangan +ngerendahin,merendahkan +nyalahin,menyalahkan +apaalahh,apalah +gak,tidak +ngerasa,merasa +ga,tidak +d,di +klo,kalo +tnp,tanpa +menyebut2,menyebut-nyebut +hny,hanya +sm,sama +tp,tapi +jg,juga +ap,apa +yg,yang +sy,saya +tdk,tidak +klo,kalo +d,di +d,di +sbg,sebagai +ortu,orang tua +hrus,harus +jgn,jangan +yg,yang +slh,salah +klo,kalo +bgtu,begitu +ga,tidak +yg,yang +bener,benar +yg,yang +slh,salah +yg,yang +kmu,kamu +gak,tidak +nyangka,menyangka +kmu,kamu +udah,sudah +jngan,jangan +sy,saya +kmrn,kemarin +na,nya +bkn,bukan +utk,untuk +tp,tapi +utk,untuk +yg,yang +d,di +lg,lagi +yg,yang +mnt,minta +sprti,seperti +sm,sama +kiya,kita +aja,saja +gak,tidak +ngaca,mengaca +gak,tidak +yah,ya +smpe,sampai +ga,tidak +yg,yang +sampe,sampai +bgt,banget +ga,tidak +miriiiiip,mirip +dirimuuu,dirimu +yg,yang +udh,sudah +cantiik,cantik +aamiin,amin +pake,pakai +gini,begini +amiiiiinnn,amin +bsk,besok +diginiin,dibeginikan +gini,begini +yaah,ya +yoiiu,yoi +yaaa,ya +semuanyaaaa,semuanya +tp,tapi +yaa,ya +smg,semoga +cpt,cepat +nyusul,menyusul +yah,ya +artis2,artis-artis +yg,yang +suka.a,sukanya +jdii,jadi +ikut2an,ikut-ikutan +ni,nih +blnja,belanja +d,di +fto,foto +sma,sama +brangnya,barangnya +"sama""",sama-sama +bgus,bagus +jga,juga +bgs,bagus +bngt,banget +hdp,hidup +kk,kakak +lw,kalau +ada2,ada-ada +aja,saja +yg,yang +nimpuk,menimpuk +ga,tidak +gara2,gara-gara +rekomendasiin,merekomendasikan +abiss,habis +temennya,temannya +gk,tidak +tp,tapi +tdk,tidak +prlu,perlu +lg,lagi +karna,karena +yaa,ya +gw,gue +coyyy,coy +gk,tidak +tdk,tidak +prlu,perlu +lg,lagi +suaranyaa,suaranya +denger,dengar +bgt,banget +jgn,jangan +yg,yang +bener,benar +udh,sudah +ngurusin,mengurusi +hdup,hidup +org,orang +aja,saja +yg,yang +baik2,baik-baik +klo,kalo +belain,membela +krn,karena +kluarga,keluarga +yg,yang +aja,saja +jalanin,menjalani +hdup,hidup +gk,tidak +d,di +yg,yang +jnagn,jangan +tar,entar +gw,gue +sma,sama +tp,tapi +gara2,gara-gara +gw,gue +kcwa,kecewa +udah,sudah +yg,yang +bgt,banget +skrg,sekarang +jaman2,jaman-jaman +sm,sama +dlu,dulu +sok2an,sok-sokan +dket2in,dekat-dekati +jd,jadi +cobak,coba +dehh,deh +psti,pasti +msh,masih +britanya,beritanya +ehhh,eh +ilang,hilang +tau2,tau-tau +pcrn,pacaran +sm,sama +trs,terus +mahh,mah +emg,memang +g,tidak +tetep,tetap +ngatain,mengatai +sii,sih +yg,yang +trlalu,terlalu +sbg,sebagai +jamam,jaman +skrg,sekarang +org,orang +yg,yang +org,orang +yg,yang +gini,begini +yaaa,ya +utk,untuk +tetep,tetap +yaa,ya +dengerin,mendengarkan +aja,saja +yg,yang +sma,sama +yg,yang +ngga,tidak +ngebela,membela +siapa2,siapa-siapa +kog,kok +paraa,para +seharusny,seharusnya +berfikir,berpikir +dasaar,dasar +ngk,tidak +bergunaa,berguna +mulutnyaaa,mulutnya +pnya,punya +tmen,teman +ko,kok +pda,pada +nusuk,menusuk +dr,dari +blkng,belakang +udah,sudah +nyindir,menyindir +ama,sama +tp,tapi +aja,saja +ama,sama +s,si +pd,pada +kcewa,kecewa +lucuk,lucu +jd,jadi +gk,tidak +gak,tidak +mnusuk,menusuk +dri,dari +blkang,belakang +tp,tapi +emang,memang +lgsg,langsung +jd,jadi +syp,siapa +yg,yang +muna,munafik +sukak,suka +ma,sama +skrg,sekarang +gak,tidak +gr2,gara-gara +nembak,menembak +dri,dari +blkng,belakang +aja,saja +yg,yang +trmanis,termanis +y,ya +krng,kurang +mksh,terima kasih +nembak,menembak +kaciiaann,kasihan +uda,sudah +sok2an,sok-sokan +nyela,mencela +org,orang +sndiri,sendiri +bgt,banget +nyindir,menyindir +jgn,jangan +pake,pakai +gtu,begitu +keles,kali +lg,lagi +temen,teman +ga,tidak +bener,benar +belain,membela +inget,ingat +ngomong,mengomong +ngejilat,menjilat +ga,tidak +yaah,ya +gtu,begitu +yak,ya +gk,tidak +inget,ingat +yg,yang +sm,sama +gimana,bagaimana +jgn,jangan +donk,dong +ntar,entar +y,ya +sy,saya +bs,bisa +yg,yang +ny,nya +hallooo,halo +deketin,dekati +baget,banget +hy,hai +kk,kakak +km,kamu +hallooo,halo +tayik,tahi +ga,tidak +liat,lihat +halooo,halo +ustzah,ustazah +klo,kalo +halow,halo +jga,juga +yg,yang +mn,mana +poooolllll,pol +cantik2,cantik-cantik +tahannn,tahan +cuantik,cantik +bgt,banget +ga,tidak +bngt,banget +klo,kalo +liat,lihat +kmu,kamu +kyk,kayak +bgni,begini +aduhh,aduh +bangetttt,banget +jt,juta +yg,yang +ga,tidak +prlu,perlu +pke,pakai +aduuh,aduh +gak,tidak +tp,tapi +bs,bisa +cm,cuma +klo,kalo +jg,juga +utk,untuk +nyimpen,menyimpan +ngarsipin,mengarsipkan +emang,memang +cman,cuman +ehh,eh +nyaranin,menyarankan +pingin,pengin +parahh,parah +gituuuuu,begitu +ad,ada +bsa,bisa +kyy,kaya +gitu,begitu +y,ya +kk,kakak +kangenn,kangen +bangett,banget +kgn,kangen +bgtttt,banget +kangenn,kangen +yaa,ya +kngn,kangen +bgt,banget +yg,yang +dlu,dulu +kq,kok +skrg,sekarang +yg,yang +udh,sudah +bgt,banget +sma,sama +nyesek,menyesak +pngn,pengin +dlu,dulu +kangeen,kangen +liat,lihat +yg,yang +bkn,bukan +rinduuuuuuu,rindu +kangennnn,kangen +kangenn,kangen +b2,berdua +bgini,begini +lucuuu,lucu +bgt,banget +kangeeeennn,kangen +sm,sama +klian,kalian +mg,moga +bsok,besok +bgus,bagus +bs,bisa +jd,jadi +aamiiiiinnn,amin +gemezzzz,gemas +bgt,banget +mang,memang +ber2,berdua +kangennnnnn,kangen +kangennn,kangen +bgt,banget +klian,kalian +prh,parah +jg,juga +y,ya +bakattt,bakat +pinter,pintar +bgt,banget +bet,banget +napsuu,napsu +bgt,banget +lucuuu,lucu +gak,tidak +mauu,mau +gemesin,menggemaskan +gmau,tidak mau +luccu,lucu +ehh,eh +ngeselin,mengesalkan +prasaan,perasaan +gmna,bagaimana +gak,tidak +lahirr,lahir +karna,karena +aq,aku +aq,aku +kyknya,kayaknya +g,tidak +jelekin,menjelekkan +ngingetin,mengingatkan +klo,kalo +jd,jadi +yg,yang +ma,sama +setujuuuu,setuju +jd,jadi +sering2,sering-sering +tuk,untuk +org,orang +klo,kalo +org,orang +dlu,dulu +g,tidak +mantappp,mantap +bnr,benar +ceemen,cemen +bgtt,banget +ga,tidak +nyindir,menyindir +ngakak,mengakak +bc,baca +bener,benar +"sembunyi""""",sembunyi-sembunyi +dn,dan +yg,yang +dri,dari +yg,yang +utk,untuk +dri,dari +skrnh,sekarang +cerdiik,cerdik +jg,juga +jeniuss,jenius +sipp,sip +kurangin,kurangi +bener,benar +bangettt,banget +neh,nih +mkin,makin +aja,saja +k,kak +mkin,makin +kreen,keren +bsa,bisa +ank,anak +yah,ya +s'lalu,selalu +met,selamat +met,selamat +bingitt,banget +mauuuuuu,mau +gak,tidak +blh,boleh +mintk,minta +gk,tidak +kya,kaya +nyolong,mencolong +km,kamu +emg,memang +donk,dong +sllu,selalu +pnjng,panjang +psti,pasti +slaluuuuu,selalu +kanggggg,kang +smoga,semoga +smoga,semoga +d,di +rezeqinya,rezekinya +pintr,pintar +ank,anak +dekk,dek +aq,aku +maw,mau +ngakak,mengakak +njirr,anjir +jdi,jadi +kura2,kura-kura +jdi,jadi +edaaann,edan +gw,gue +nempel,menempel +yg,yang +udah,sudah +ga,tidak +bangettttt,banget +hatiiii,hati +sukkaa,suka +sukaa,suka +sukaaa,suka +sm,sama +luuuucuuu,lucu +caantiiik,cantik +lucuuu,lucu +kaka,kakak +dapetin,mendapatkan +prodak,produk +ga,tidak +trims,terima kasih +yah,ya +luucuuu,lucu +bngt,banget +ngambek,mengambek +lucuuu,lucu +cantikk,cantik +bgt,banget +cantikk,cantik +hnya,hanya +putihh,putih +yg,yang +lohh,loh +ga,tidak +yg,yang +ga,tidak +"terus""an",terus-terusan +sihh,sih +ntar,entar +nyesel,menyesal +lohh,loh +gemez,gemas +yah,ya +lutuna,lucunya +bnget,banget +bgt,banget +siiih,sih +gemes,gemas +yuu,yuk +gemes,gemas +ternyataa,ternyata +rekomendasiin,rekomendasikan +cantikk,cantik +pollll,pol +sekaliiii,sekali +yaaa,ya +ga,tidak +peduliin,mempedulikan +org,orang +komntr,komentar +aj,saja +mcm,macam +yg,yang +kk,kakak +hrus,harus +smngat,semangat +dosax,dosanya +pahalax,pahalanya +kk,kakak +yg,yang +sy,saya +dgn,dengan +kk,kakak +org,orang +d,di +akhirt,akhirat +krn,karena +lgsung,langsung +dr,dari +qt,kita +tinggalkn,tinggalkan +rumh,rumah +tnpa,tanpa +mk,maka +dosax,dosanya +ga,tidak +bs,bisa +trhtung,terhitung +lg,lagi +kk,kakak +cantikkkkk,cantik +bget,banget +tteh,teteh +naaaa,nya +ademmm,adem +lanjutin,lanjutkan +akuu,aku +sukaa,suka +bangett,banget +samaa,sama +kaka,kakak +udh,sudah +cerdass,cerdas +cantikk,cantik +lagii,lagi +pake,pakai +hijabb,hijab +tambahh,tambah +polll,pol +cantiknyaa,cantiknya +cantikk,cantik +kaa,kak +kaa,kak +didengerin,didengarkan +kaa,kak +dlu,dulu +mantapppppp,mantap +kl,kalo +blm,belum +bs,bisa +wktu,waktu +ngerespon,merespons +yg,yang +tehh,teh +diemin,diamkan +ahh,ah +yg,yang +dulurrr,dulur +tetehh,teteh +slalu,selalu +brusaha,berusaha +pahamin,memahami +klo,kalo +yg,yang +lebh,lebih +krna,karena +alloh,allah +smoga,semoga +slalu,selalu +aminn,amin +amin2,amin-amin +sm,sama +yg,yang +ksh,kasih +positippp,positif +hrs,harus +smg,semoga +yg,yang +qta,kita +utk,untuk +skrg,sekarang +yg,yang +jauuhhh,jauh +lbh,lebih +lg,lagi +semangatt,semangat +trs,terus +sneng,senang +liat,lihat +k',kak +brhjb,berhijab +mdh2n,mudah-mudahan +bsa,bisa +slmnya,salamnya +k',kak +amiiin,amin +jlbb,jilbab +dempga,semoga +selmnya,selamanya +pke,pakai +tth,teteh +aamiin,amin +otot2,otot-otot +dgn,dengan +lengkeeett,lengket +caaannnttiikkk,cantik +bgt,banget +pake,pakai +wahh,wah +kemaren,kemarin +kaaa,kak +sukaaaa,suka +bgt,banget +cantikkk,cantik +jgn,jangan +y,ya +tmbh,tambah +trusss,terus +kk,kakak +kk,kakak +gn,begini +sm,sama +ademm,adem +apalagiii,apalagi +passs,pas +beginii,begini +satuu,satu +udh,sudah +lahh,lah +cuantek,cantik +bgt,banget +akuuuur,akur +jd,jadi +sm,sama +kerennnn,keren +iniehh,ini +bangettt,banget +dehhh,deh +bgtu,begitu +sayangx,sayangnya +gk,tidak +jd,jadi +jodohx,jodohnya +bgmn,bagaimana +lg,lagi +kaliaan,kalian +sm2,sama-sama +haslnya,hasilnya +stlh,setelah +skrng,sekarang +ak,aku +kencng,kencang +jg,juga +kk,kakak +bgt,banget +trus,terus +sm,sama +kk,kakak +jgn,jangan +bundaa,bunda +klu,kalau +laki2,laki-laki +bgitu,begitu +msh,masih +jng,jangan +krn,karena +neh,nih +kluarga,keluarga +pmbantu,pembantu +yg,yang +y,ya +gg,tidak +nahan,menahan +emng,memang +smga,semoga +kmbl,kembali +ad,ada +kmbali,kembali +kpd,kepada +amiiiin,amin +bru,baru +cuchook,cocok +kloop,klop +sempurnaa,sempurna +sneng,senang +bnget,banget +inii,ini +klrga,keluarga +kyk,kayak +dlu,dulu +klihatan,kelihatan +cintax,cintanya +bgtu,begitu +ma,sama +pnuh,penuh +skrg,sekarang +g,tidak +ngrti,mengerti +lg,lagi +ap,apa +artix,artinya +smoga,semoga +lg,lagi +trlalu,terlalu +untk,untuk +"mudah""an",mudah-mudahan +dpt,dapat +yg,yang +lbh,lebih +"segala""ny",segala-galanya +dr,dari +mantanny,mantannya +yg,yang +y,ya +org,orang +pst,pasti +jodohny,jodohnya +org,orang +jg,juga +anak2nya,anak-anaknya +smoga,semoga +dpt,dapat +yg,yang +amiiin,amin +cocokkk,cocok +cantk,cantik +ituuu,itu +gak,tidak +nyesel,menyesal +seneng,senang +ngeliat,melihat +gk,tidak +tdk,tidak +gk,tidak +knpa,kenapa +kaasian,kasihan +smua,semua +dpt,dapat +laki2,laki-laki +tp,tapi +padhl,padahal +"ank""",anak-anak +d,di +pkrin,pikirkan +kn,kan +anakx,anaknya +yg,yang +jagain,menjaga +jngan,jangan +sia2kan,sia-siakan +klian,kalian +masi,masih +jdi,jadi +pgn,pengin +mauu,mau +wowww,wow +naaahhh,nah +km,kamu +blm,belum +beluumm,belum +sayangggq,sayangku +bsk,besok +woow,wow +kreean,keren +banger,banget +ciiieee,cie +cieee,cie +cieeee,cie +berenanh,berenang +yuuk,yuk +yukk,yuk +pacarr,pacar +kuu,ku +pen,pengin +bingitss,banget +besokkk,besok +anjirrrr,anjir +jdi,jadi +pcrn,pacaran +bngt,banget +gk,tidak +annnnjjjjjjrrrr,anjir +brp,berapa +dehh,deh +ngeliatin,melihati +org,orang +trmasuk,termasuk +anak2,anak-anak +trll,terlalu +ngumbar2,mengumbar-umbar +brdua,berdua +romantiss,romantis +bgt,banget +ciee,cie +cocook,cocok +syg,sayang +lucuuuuuuuu,lucu +yank,sayang +lucuuuuu,lucu +kaaaaaann,kan +nyaaaaaaa,nya +lgs,langsung +yaang,yang +ga,tidak +ngeluarin,mengeluarkan +lagiiii,lagi +bangedt,banget +bgt,banget +dahh,dah +njir,anjir +bgt,banget +gde,gede +bgt,banget +gn,begini +lutunaaa,lucunya +bgt,banget +bikinnn,bikin +keee,ke +bungkuuussss,bungkus +bgt,banget +pngn,pengin +pnya,punya +kyk,kayak +lucux,lucunya +lucuu,lucu +gemes,gemas +lucuu,lucu +bntr,bentar +lg,lagi +jgn,jangan +bgt,banget +c,sih +gemesss,gemas +bangettt,banget +yaa,ya +buanyaaak,banyak +aaamiiinnn,amin +aamiin,amin +aaamiiin,amin +aamiin,amin +ntap,mantap +abgnyaah,abangnya +abg,abang +mungkiin,mungkin +akuhh,aku +amiin,amin +pastii,pasti +foto2,foto-foto +yukkk,yuk +bgt,banget +ngelihat,melihat +lbh,lebih +manteb,mantap +hiduupppp,hidup +org,orang +lucu2,lucu-lucu +yak,ya +tebel,tebal +bgt,banget +bkn,bukan +orng,orang +nganggepin,menanggapi +nganggepin,menanggapi +ttp,tetap +"mentang""",mentang-mentang +gk,tidak +ky,kaya +najiss,najis +ngarep,mengharap +lg,lagi +gw,gue +jgan,jangan +gw,gue +perjabatt,pejabat +yg,yang +baikk,baik +tp,tapi +org2,orang-orang +cm,cuma +knp,kenapa +makany,makanya +jngn,jangan +bangettt,banget +semngat,semangat +benneeeeeerr,benar +pede,percaya diri +males,malas +ama,sama +krjaan,pekerjaan +pnting,penting +jga,juga +bkan,bukan +kdng,kadang +kdang,kadang +knan,kanan +kdng,kadang +tdk,tidak +ginii,begini +ngaca,mengaca +ngerasa,merasa +ngeri2,ngeri-ngeri +"mentang""",mentang-mentang +anak'y,anaknya +udh,sudah +trknal,terkenal +ajah,saja +gak,tidak +"gtu""",begitu-gitu +klok,kalo +org,orang +yg,yang +yaa,ya +aamiiiinnnnn,amin +iyaa,iya +kerenn,keren +nnti,nanti +kmu,kamu +kek,kayak +gtu,begitu +jg,juga +brpa,berapa +ky,kaya +kmren,kemarin +bgt,banget +jg,juga +ksh,kasih +kerenn,keren +kannn,kan +pengennnn,pengin +kann,kan +iyaa,iya +kerenn,keren +pengen,pengin +tp,tapi +dlu,dulu +bgt,banget +sama2,sama-sama +emg,memang +guw,gue +jd,jadi +ccok,cocok +ihh,ih +sbnrny,sebenarnya +lbh,lebih +jugaaa,juga +iyaaa,iya +pdhal,padahal +bgt,banget +pdhal,padahal +jd,jadi +gituh,begitu +bgt,banget +bgt,banget +yaaa,ya +bngett,banget +g,tidak +stuju,setuju +dpt,dapat +bgt,banget +kl,kalo +jd,jadi +bgt,banget +sma,sama +gk,tidak +siiiiiiippppppppp,sip +selaloe,selalu +mauuuu,mau +donggg,dong +bgt,banget +beruntungnyaaaa,beruntungnya +inii,ini +dr,dari +dlu,dulu +klo,kalo +sma,sama +bngtttt,banget +bngtttt,banget +soal'y,soalnya +smga,semoga +trs,terus +y,ya +bgt,banget +udh,sudah +prhatian,perhatian +jd,jadi +pulak,pula +hebaat,hebat +lahh,lah +bgt,banget +ma,sama +inih,ini +ampunn,ampun +gueeeee,gue +mbk,mbak +bnget,banget +sma,sama +ngiri,mengiri +liatt,lihat +gehh,gih +ankknyaaa,anaknya +bgt,banget +udah,sudah +liat,lihat +bgt,banget +bgt,banget +ma,sama +syg,sayang +centilnyaaaaaa,centilnya +gemesshzzzzhzzhzhzhsjssjs,gemas +bgtt,banget +ngacaaa,mengaca +diaaa,dia +gemes,gemas +bgt,banget +jd,jadi +pngn,pengin +ktmu,ketemu +bgt,banget +jirr,anjir +bgt,banget +dahh,dah +kayaa,kaya +gt,begitu +yaaa,ya +cempreeng,cempreng +centillll,centil +pcran,pacaran +bnget,banget +bgt,banget +ama,sama +bgt,banget +jugak,juga +jg,juga +dlu,dulu +pengen,pengin +mantep,mantap +anedh,banget +ampyunnnn,ampun +boro2,boro-boro +emg,memang +bkn,bukan +tp,tapi +suka2,suka-suka +emg,memang +nyta,nyata +kampungn,kampungan +lg,lagi +bru,baru +jd,jadi +j,saja +dh,dah +gt,begitu +mna,mana +jgn,jangan +pkai,pakai +klw,kalau +mnghina,menghina +org,orang +dri,dari +ngolokin,mengolok +org,orang +ngurusin,mengurus +blum,belum +bener,benar +ngurusin,mengurusi +"syirik""",syirik-syirik +bener,benar +bng,bang +ud,sudah +gk,tidak +than,tahan +lg,lagi +dsr,dasar +siriik,sirik +ituu,itu +mampuuu,mampu +org,orang +mo,mau +lbh,lebih +klo,kalo +aq,aku +yg,yang +km,kamu +khan,kan +q,ku +slalu,selalu +km,kamu +dgn,dengan +q,ku +jd,jadi +pngen,pengin +ky,kaya +aduuhh,aduh +cemburuu,cemburu +k,ke +aq,aku +bangettt,banget +cucok,cocok +bingitzzzz,banget +ngarep,mengharap +bget,banget +tlog,tolong +jga,juga +apasihhh,apasih +pda,pada +sirikk,sirik +sma,sama +smpe,sampai +gk,tidak +kalii,kali +kaliann,kalian +dbnding,dibanding +sma,sama +nrka,neraka +pda,pada +ngurusin,mengurusi +org,orang +s3ndiri,sendiri +jgn,jangan +dngerin,mendengarkan +yg,yang +pnting,penting +ttep,tetap +smangat,semangat +ortu,orang tua +kk,kakak +yg,yang +bnyk,banyak +bhgiain,membahagiakan +kdua,kedua +org,orang +kk,kakak +mreka,mereka +gk,tidak +pd,pada +gimana,bagaimana +jd,jadi +kk,kakak +yg,yang +skrg,sekarang +mreka,mereka +hnya,hanya +sm,sama +yg,yang +udh,sudah +d,di +sm,sama +kk,kakak +pdhal,padahal +udh,sudah +aja,saja +sma,sama +bgt,banget +kk,kakak +bgt,banget +klo,kalo +sma,sama +k,kak +prcya,percaya +k,kak +bgt,banget +sma,sama +org,orang +liat,lihat +kk,kakak +bkln,bakalan +bhagaia,bahagia +lhir,lahir +sma,sama +cuco,cocok +bngt,banget +bgt,banget +usahh,usah +genittt,genit +yahh,ya +kx,kak +mlikk,milik +kasian,kasihan +k,kak +"mentah""",mentah-mentah +kata2,kata-kata +blm,belum +ga,tidak +ngurusin,mengurusi +idup,hidup +org,orang +aja,saja +gimana,bagaimana +emg,memang +engga,tidak +canci,cantik +aneed,banget +make,memakai +gimanaa,bagaimana +cantikkk,cantik +gimna,bagaimana +jdi,jadi +gitu,begitu +ngikutin,mengikuti +gak,tidak +yah,ya +lainnn,lain +pentingg,penting +pake,pakai +yg,yang +gmn,bagaimana +kenalin,memperkenalkan +kk,kakak +make,memakai +bgd,banget +cans,cantik +pake,pakai +bagaimanaaa,bagaimana +krudung,kerudung +gimana,bagaimana +bangeet,banget +cans,cantik +bgt,banget +canci,cantik +bangett,banget +enakkkkk,enak +poool,pol +woow,wow +jirrrr,anjir +gni,begini +bat,banget +liat,lihat +yg,yang +oprasiya,operasinya +gak,tidak +emg,memang +mksh,terima kasih +yaa,ya +ma,sama +uwee,gue +mh,mah +dak,indak +pilihannny,pilihannya +itumahh,itumah +muuuu,mu +yuuk,yuk +uuhhh,uh +gw,gue +doank,doang +ma,sama +idung,hidung +ma,sama +bnyak,banyak +kk,kakak +berbakiti,berbakti +tetep,tetap +tehh,teh +alhamd,alhamdulillah +tebel,tebal +yaaa,ya +jd,jadi +ortu,orang tua +amiien,amien +udh,sudah +makasi,terima kasih +slmttt,selamat +kk,kakak +ucapin,mengucapkan +krn,karena +hbs,habis +tetp,tetap +yaa,ya +ditengah2,ditengah-tengah +semuanyaa,semuanya +donk,dong +mbk,mbak +idung,hidung +kya,kaya +smoga,semoga +yg,yang +semuannyaaa,semuanya +aminn2,amin-amin +aamiin,amin +kpn,kapan +ngareppppp,mengharap +tp,tapi +abs,habis +bnr2,benar-benar +kebnyak'an,kebanyakan +org,orang +abs,habis +melahirin,melahirkan +hbis,habis +ngeluarin,mengeluarkan +sma,sama +kmu,kamu +dlu,dulu +ngga,tidak +hdup,hidup +kaa,kak +pengen,pengin +mantapp,mantap +tetep,tetap +sempet,sempat +pake,pakai +aduuuh,aduh +cakeep,cakep +lucuu,lucu +ajaa,saja +tetep,tetap +cantiiikk,cantik +nyaaaa,nya +tu,itu +lhooo,loh +gituuu,begitu +emg,memang +kamuuuu,kamu +jg,juga +cm,cuma +ga,tidak +bagi2,bagi-bagi +donk,dong +mb,mbak +rempong,repot +kasi,kasih +dg,dengan +waah,wah +sdh,sudah +skrg,sekarang +klo,kalo +psti,pasti +kerass,keras +gimn,bagaimana +kk,kakak +kasi,kasih +donk,dong +bs,bisa +kk,kakak +donk,dong +kren,keren +neh,nih +smogaaa,semoga +biza,bisa +sperti,seperti +kk,kakak +aamien,amien +lngsing,langsing +org,orang +yg,yang +ngmg,mengomong +uda,sudah +ga,tidak +pake,pakai +emang,memang +jg,juga +ttep,tetap +wowoooww,wow +trun,turun +ky,kaya +k,kak +aq,aku +dr,dari +smnjak,semenjak +blom,belum +k,ke +smulla,semula +pdhall,padahal +blln,bulan +masi,masih +gile,gila +gw,gue +kl,kalo +sich,sih +pgn,pengin +senang2,senang-senang +jh,saja +seh,sih +nggak,tidak +kereeennnn,keren +donk,dong +bln,bulan +gmn,bagaimana +gilakkk,gila +gtu2,begitu-gitu +sehh,sih +kakk,kak +ajah,saja +cpet,cepat +bnget,banget +aq,aku +uda,sudah +nyobain,mencoba +dlm,dalam +wktu,waktu +hr,hari +gatau,tidak tau +gataunya,tidak taunya +gtau,tidak tau +gatau,tidak tau +fans2,fan-fan +gaharus,tidak harus +smt,semester +mhs,mahasiswa +enggak ,tidak +milu ,pemilu \ No newline at end of file diff --git a/static/.browserslistrc b/static/.browserslistrc new file mode 100644 index 0000000..66df8f4 --- /dev/null +++ b/static/.browserslistrc @@ -0,0 +1,13 @@ +# https://github.com/browserslist/browserslist#readme + +>= 1% +last 1 major version +not dead +Chrome >= 60 +Firefox >= 60 +Edge >= 15.15063 +Explorer 11 +iOS >= 10 +Safari >= 10 +Android >= 6 +not ExplorerMobile <= 11 diff --git a/static/.gitignore b/static/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/static/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/static/.travis.yml b/static/.travis.yml new file mode 100644 index 0000000..9662ddf --- /dev/null +++ b/static/.travis.yml @@ -0,0 +1,14 @@ +language: node_js +git: + depth: 3 +node_js: + - "node" +install: npm install +script: + - npm test + - gulp +cache: + directories: + - node_modules +notifications: + email: false diff --git a/static/LICENSE b/static/LICENSE new file mode 100644 index 0000000..4307a8f --- /dev/null +++ b/static/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2021 Start Bootstrap LLC + +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. diff --git a/static/PRO_UPGRADE.txt b/static/PRO_UPGRADE.txt new file mode 100644 index 0000000..9628f06 --- /dev/null +++ b/static/PRO_UPGRADE.txt @@ -0,0 +1,34 @@ +* * * * * * * * * * * * * * * * +* * UPGRADE TO SB ADMIN PRO * * +* * * * * * * * * * * * * * * * + +Save $10 and upgrade to SB Admin Pro. +Use the coupon code: + +SAVE10 + +when making your purchase at +https://startbootstrap.com/theme/sb-admin-pro. + +* * * * * * * * * * * * * * * +* * SB ADMIN PRO INCLUDES * * +* * * * * * * * * * * * * * * + +- Full Documentation +- Expanded Components & Utilities +- Page Examples for Common Web App Views +- Email Support +- Fixed and Static Sidenav Options +- Multiple Page Layout Options + +...and more! + +* * * * * * * * * * * * * * * * * * +* * SAVE $10 ON ANY PRO PRODUCT * * +* * * * * * * * * * * * * * * * * * + +Visit https://startbootstrap.com/shop to see any of +our other pro products, and save $10 on ANY PRODUCT +using the following coupon code: + +Coupon Code: SAVE10 \ No newline at end of file diff --git a/static/README.md b/static/README.md new file mode 100644 index 0000000..7ef98ba --- /dev/null +++ b/static/README.md @@ -0,0 +1,65 @@ +# [Start Bootstrap - SB Admin 2](https://startbootstrap.com/theme/sb-admin-2/) + +[SB Admin 2](https://startbootstrap.com/theme/sb-admin-2/) is an open source admin dashboard theme for [Bootstrap](https://getbootstrap.com/) created by [Start Bootstrap](https://startbootstrap.com/). + +For the legacy Bootstrap 3 version of this theme, you can view the [last stable release](https://github.com/StartBootstrap/startbootstrap-sb-admin-2/releases/tag/v3.3.7%2B1) of SB Admin 2 for Bootstrap 3. + +## Preview + +[![SB Admin 2 Preview](https://assets.startbootstrap.com/img/screenshots/themes/sb-admin-2.png)](https://startbootstrap.github.io/startbootstrap-sb-admin-2/) + +**[Launch Live Preview](https://startbootstrap.github.io/startbootstrap-sb-admin-2/)** + +## Status + +[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/StartBootstrap/startbootstrap-sb-admin-2/master/LICENSE) +[![npm version](https://img.shields.io/npm/v/startbootstrap-sb-admin-2.svg)](https://www.npmjs.com/package/startbootstrap-sb-admin-2) +[![Build Status](https://travis-ci.org/StartBootstrap/startbootstrap-sb-admin-2.svg?branch=master)](https://travis-ci.org/StartBootstrap/startbootstrap-sb-admin-2) +[![dependencies Status](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2/status.svg)](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2) +[![devDependencies Status](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2/dev-status.svg)](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2?type=dev) + +## Download and Installation + +To begin using this template, choose one of the following options to get started: + +* [Download the latest release on Start Bootstrap](https://startbootstrap.com/theme/sb-admin-2/) +* Install via npm: `npm i startbootstrap-sb-admin-2` +* Clone the repo: `git clone https://github.com/StartBootstrap/startbootstrap-sb-admin-2.git` +* [Fork, Clone, or Download on GitHub](https://github.com/StartBootstrap/startbootstrap-sb-admin-2) + +## Usage + +After installation, run `npm install` and then run `npm start` which will open up a preview of the template in your default browser, watch for changes to core template files, and live reload the browser when changes are saved. You can view the `gulpfile.js` to see which tasks are included with the dev environment. + +### Gulp Tasks + +* `gulp` the default task that builds everything +* `gulp watch` browserSync opens the project in your default browser and live reloads when changes are made +* `gulp css` compiles SCSS files into CSS and minifies the compiled CSS +* `gulp js` minifies the themes JS file +* `gulp vendor` copies dependencies from node_modules to the vendor directory + +You must have npm installed globally in order to use this build environment. This theme was built using node v11.6.0 and the Gulp CLI v2.0.1. If Gulp is not running properly after running `npm install`, you may need to update node and/or the Gulp CLI locally. + +## Bugs and Issues + +Have a bug or an issue with this template? [Open a new issue](https://github.com/StartBootstrap/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](https://startbootstrap.com/theme/sb-admin-2/). + +## About + +Start Bootstrap is an open source library of free Bootstrap templates and themes. All of the free templates and themes on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects. + +* +* + +Start Bootstrap was created by and is maintained by **[David Miller](https://davidmiller.io/)**. + +* +* +* + +Start Bootstrap is based on the [Bootstrap](https://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat). + +## Copyright and License + +Copyright 2013-2021 Start Bootstrap LLC. Code released under the [MIT](https://github.com/StartBootstrap/startbootstrap-resume/blob/master/LICENSE) license. diff --git a/static/css/sb-admin-2.css b/static/css/sb-admin-2.css new file mode 100644 index 0000000..fb96fb4 --- /dev/null +++ b/static/css/sb-admin-2.css @@ -0,0 +1,11281 @@ +/*! + * Start Bootstrap - SB Admin 2 v4.1.3 (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) + */ + +/*! + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --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(49px, 9999px, 40px, 0); + } + 5% { + clip: rect(75px, 9999px, 72px, 0); + } + 10% { + clip: rect(97px, 9999px, 93px, 0); + } + 15% { + clip: rect(15px, 9999px, 9px, 0); + } + 20% { + clip: rect(14px, 9999px, 92px, 0); + } + 25% { + clip: rect(18px, 9999px, 94px, 0); + } + 30% { + clip: rect(17px, 9999px, 20px, 0); + } + 35% { + clip: rect(71px, 9999px, 59px, 0); + } + 40% { + clip: rect(42px, 9999px, 84px, 0); + } + 45% { + clip: rect(56px, 9999px, 25px, 0); + } + 50% { + clip: rect(46px, 9999px, 14px, 0); + } + 55% { + clip: rect(47px, 9999px, 1px, 0); + } + 60% { + clip: rect(64px, 9999px, 58px, 0); + } + 65% { + clip: rect(89px, 9999px, 92px, 0); + } + 70% { + clip: rect(56px, 9999px, 39px, 0); + } + 75% { + clip: rect(80px, 9999px, 71px, 0); + } + 80% { + clip: rect(8px, 9999px, 13px, 0); + } + 85% { + clip: rect(66px, 9999px, 68px, 0); + } + 90% { + clip: rect(68px, 9999px, 4px, 0); + } + 95% { + clip: rect(56px, 9999px, 14px, 0); + } + 100% { + clip: rect(28px, 9999px, 53px, 0); + } +} + +@keyframes noise-anim { + 0% { + clip: rect(49px, 9999px, 40px, 0); + } + 5% { + clip: rect(75px, 9999px, 72px, 0); + } + 10% { + clip: rect(97px, 9999px, 93px, 0); + } + 15% { + clip: rect(15px, 9999px, 9px, 0); + } + 20% { + clip: rect(14px, 9999px, 92px, 0); + } + 25% { + clip: rect(18px, 9999px, 94px, 0); + } + 30% { + clip: rect(17px, 9999px, 20px, 0); + } + 35% { + clip: rect(71px, 9999px, 59px, 0); + } + 40% { + clip: rect(42px, 9999px, 84px, 0); + } + 45% { + clip: rect(56px, 9999px, 25px, 0); + } + 50% { + clip: rect(46px, 9999px, 14px, 0); + } + 55% { + clip: rect(47px, 9999px, 1px, 0); + } + 60% { + clip: rect(64px, 9999px, 58px, 0); + } + 65% { + clip: rect(89px, 9999px, 92px, 0); + } + 70% { + clip: rect(56px, 9999px, 39px, 0); + } + 75% { + clip: rect(80px, 9999px, 71px, 0); + } + 80% { + clip: rect(8px, 9999px, 13px, 0); + } + 85% { + clip: rect(66px, 9999px, 68px, 0); + } + 90% { + clip: rect(68px, 9999px, 4px, 0); + } + 95% { + clip: rect(56px, 9999px, 14px, 0); + } + 100% { + clip: rect(28px, 9999px, 53px, 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(16px, 9999px, 10px, 0); + } + 5% { + clip: rect(22px, 9999px, 29px, 0); + } + 10% { + clip: rect(6px, 9999px, 68px, 0); + } + 15% { + clip: rect(85px, 9999px, 95px, 0); + } + 20% { + clip: rect(65px, 9999px, 91px, 0); + } + 25% { + clip: rect(93px, 9999px, 68px, 0); + } + 30% { + clip: rect(10px, 9999px, 27px, 0); + } + 35% { + clip: rect(37px, 9999px, 25px, 0); + } + 40% { + clip: rect(12px, 9999px, 23px, 0); + } + 45% { + clip: rect(40px, 9999px, 18px, 0); + } + 50% { + clip: rect(19px, 9999px, 71px, 0); + } + 55% { + clip: rect(2px, 9999px, 35px, 0); + } + 60% { + clip: rect(16px, 9999px, 69px, 0); + } + 65% { + clip: rect(8px, 9999px, 65px, 0); + } + 70% { + clip: rect(30px, 9999px, 57px, 0); + } + 75% { + clip: rect(14px, 9999px, 4px, 0); + } + 80% { + clip: rect(39px, 9999px, 30px, 0); + } + 85% { + clip: rect(22px, 9999px, 35px, 0); + } + 90% { + clip: rect(58px, 9999px, 71px, 0); + } + 95% { + clip: rect(34px, 9999px, 90px, 0); + } + 100% { + clip: rect(67px, 9999px, 68px, 0); + } +} + +@keyframes noise-anim-2 { + 0% { + clip: rect(16px, 9999px, 10px, 0); + } + 5% { + clip: rect(22px, 9999px, 29px, 0); + } + 10% { + clip: rect(6px, 9999px, 68px, 0); + } + 15% { + clip: rect(85px, 9999px, 95px, 0); + } + 20% { + clip: rect(65px, 9999px, 91px, 0); + } + 25% { + clip: rect(93px, 9999px, 68px, 0); + } + 30% { + clip: rect(10px, 9999px, 27px, 0); + } + 35% { + clip: rect(37px, 9999px, 25px, 0); + } + 40% { + clip: rect(12px, 9999px, 23px, 0); + } + 45% { + clip: rect(40px, 9999px, 18px, 0); + } + 50% { + clip: rect(19px, 9999px, 71px, 0); + } + 55% { + clip: rect(2px, 9999px, 35px, 0); + } + 60% { + clip: rect(16px, 9999px, 69px, 0); + } + 65% { + clip: rect(8px, 9999px, 65px, 0); + } + 70% { + clip: rect(30px, 9999px, 57px, 0); + } + 75% { + clip: rect(14px, 9999px, 4px, 0); + } + 80% { + clip: rect(39px, 9999px, 30px, 0); + } + 85% { + clip: rect(22px, 9999px, 35px, 0); + } + 90% { + clip: rect(58px, 9999px, 71px, 0); + } + 95% { + clip: rect(34px, 9999px, 90px, 0); + } + 100% { + clip: rect(67px, 9999px, 68px, 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/static/css/sb-admin-2.min.css b/static/css/sb-admin-2.min.css new file mode 100644 index 0000000..903c9d1 --- /dev/null +++ b/static/css/sb-admin-2.min.css @@ -0,0 +1,10 @@ +/*! + * Start Bootstrap - SB Admin 2 v4.1.3 (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) + *//*! + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--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://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:.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(49px,9999px,40px,0)}5%{clip:rect(75px,9999px,72px,0)}10%{clip:rect(97px,9999px,93px,0)}15%{clip:rect(15px,9999px,9px,0)}20%{clip:rect(14px,9999px,92px,0)}25%{clip:rect(18px,9999px,94px,0)}30%{clip:rect(17px,9999px,20px,0)}35%{clip:rect(71px,9999px,59px,0)}40%{clip:rect(42px,9999px,84px,0)}45%{clip:rect(56px,9999px,25px,0)}50%{clip:rect(46px,9999px,14px,0)}55%{clip:rect(47px,9999px,1px,0)}60%{clip:rect(64px,9999px,58px,0)}65%{clip:rect(89px,9999px,92px,0)}70%{clip:rect(56px,9999px,39px,0)}75%{clip:rect(80px,9999px,71px,0)}80%{clip:rect(8px,9999px,13px,0)}85%{clip:rect(66px,9999px,68px,0)}90%{clip:rect(68px,9999px,4px,0)}95%{clip:rect(56px,9999px,14px,0)}100%{clip:rect(28px,9999px,53px,0)}}@keyframes noise-anim{0%{clip:rect(49px,9999px,40px,0)}5%{clip:rect(75px,9999px,72px,0)}10%{clip:rect(97px,9999px,93px,0)}15%{clip:rect(15px,9999px,9px,0)}20%{clip:rect(14px,9999px,92px,0)}25%{clip:rect(18px,9999px,94px,0)}30%{clip:rect(17px,9999px,20px,0)}35%{clip:rect(71px,9999px,59px,0)}40%{clip:rect(42px,9999px,84px,0)}45%{clip:rect(56px,9999px,25px,0)}50%{clip:rect(46px,9999px,14px,0)}55%{clip:rect(47px,9999px,1px,0)}60%{clip:rect(64px,9999px,58px,0)}65%{clip:rect(89px,9999px,92px,0)}70%{clip:rect(56px,9999px,39px,0)}75%{clip:rect(80px,9999px,71px,0)}80%{clip:rect(8px,9999px,13px,0)}85%{clip:rect(66px,9999px,68px,0)}90%{clip:rect(68px,9999px,4px,0)}95%{clip:rect(56px,9999px,14px,0)}100%{clip:rect(28px,9999px,53px,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(16px,9999px,10px,0)}5%{clip:rect(22px,9999px,29px,0)}10%{clip:rect(6px,9999px,68px,0)}15%{clip:rect(85px,9999px,95px,0)}20%{clip:rect(65px,9999px,91px,0)}25%{clip:rect(93px,9999px,68px,0)}30%{clip:rect(10px,9999px,27px,0)}35%{clip:rect(37px,9999px,25px,0)}40%{clip:rect(12px,9999px,23px,0)}45%{clip:rect(40px,9999px,18px,0)}50%{clip:rect(19px,9999px,71px,0)}55%{clip:rect(2px,9999px,35px,0)}60%{clip:rect(16px,9999px,69px,0)}65%{clip:rect(8px,9999px,65px,0)}70%{clip:rect(30px,9999px,57px,0)}75%{clip:rect(14px,9999px,4px,0)}80%{clip:rect(39px,9999px,30px,0)}85%{clip:rect(22px,9999px,35px,0)}90%{clip:rect(58px,9999px,71px,0)}95%{clip:rect(34px,9999px,90px,0)}100%{clip:rect(67px,9999px,68px,0)}}@keyframes noise-anim-2{0%{clip:rect(16px,9999px,10px,0)}5%{clip:rect(22px,9999px,29px,0)}10%{clip:rect(6px,9999px,68px,0)}15%{clip:rect(85px,9999px,95px,0)}20%{clip:rect(65px,9999px,91px,0)}25%{clip:rect(93px,9999px,68px,0)}30%{clip:rect(10px,9999px,27px,0)}35%{clip:rect(37px,9999px,25px,0)}40%{clip:rect(12px,9999px,23px,0)}45%{clip:rect(40px,9999px,18px,0)}50%{clip:rect(19px,9999px,71px,0)}55%{clip:rect(2px,9999px,35px,0)}60%{clip:rect(16px,9999px,69px,0)}65%{clip:rect(8px,9999px,65px,0)}70%{clip:rect(30px,9999px,57px,0)}75%{clip:rect(14px,9999px,4px,0)}80%{clip:rect(39px,9999px,30px,0)}85%{clip:rect(22px,9999px,35px,0)}90%{clip:rect(58px,9999px,71px,0)}95%{clip:rect(34px,9999px,90px,0)}100%{clip:rect(67px,9999px,68px,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/static/gulpfile.js b/static/gulpfile.js new file mode 100644 index 0000000..f651839 --- /dev/null +++ b/static/gulpfile.js @@ -0,0 +1,145 @@ +"use strict"; + +// Load plugins +const autoprefixer = require("gulp-autoprefixer"); +const browsersync = require("browser-sync").create(); +const cleanCSS = require("gulp-clean-css"); +const del = require("del"); +const gulp = require("gulp"); +const header = require("gulp-header"); +const merge = require("merge-stream"); +const plumber = require("gulp-plumber"); +const rename = require("gulp-rename"); +const sass = require("gulp-sass"); +const uglify = require("gulp-uglify"); + +// Load package.json for banner +const pkg = require('./package.json'); + +// Set the banner content +const banner = ['/*!\n', + ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n', + ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n', + ' * Licensed under <%= pkg.license %> (https://github.com/StartBootstrap/<%= pkg.name %>/blob/master/LICENSE)\n', + ' */\n', + '\n' +].join(''); + +// BrowserSync +function browserSync(done) { + browsersync.init({ + server: { + baseDir: "./" + }, + port: 3000 + }); + done(); +} + +// BrowserSync reload +function browserSyncReload(done) { + browsersync.reload(); + done(); +} + +// Clean vendor +function clean() { + return del(["./vendor/"]); +} + +// Bring third party dependencies from node_modules into vendor directory +function modules() { + // Bootstrap JS + var bootstrapJS = gulp.src('./node_modules/bootstrap/dist/js/*') + .pipe(gulp.dest('./vendor/bootstrap/js')); + // Bootstrap SCSS + var bootstrapSCSS = gulp.src('./node_modules/bootstrap/scss/**/*') + .pipe(gulp.dest('./vendor/bootstrap/scss')); + // ChartJS + var chartJS = gulp.src('./node_modules/chart.js/dist/*.js') + .pipe(gulp.dest('./vendor/chart.js')); + // dataTables + var dataTables = gulp.src([ + './node_modules/datatables.net/js/*.js', + './node_modules/datatables.net-bs4/js/*.js', + './node_modules/datatables.net-bs4/css/*.css' + ]) + .pipe(gulp.dest('./vendor/datatables')); + // Font Awesome + var fontAwesome = gulp.src('./node_modules/@fortawesome/**/*') + .pipe(gulp.dest('./vendor')); + // jQuery Easing + var jqueryEasing = gulp.src('./node_modules/jquery.easing/*.js') + .pipe(gulp.dest('./vendor/jquery-easing')); + // jQuery + var jquery = gulp.src([ + './node_modules/jquery/dist/*', + '!./node_modules/jquery/dist/core.js' + ]) + .pipe(gulp.dest('./vendor/jquery')); + return merge(bootstrapJS, bootstrapSCSS, chartJS, dataTables, fontAwesome, jquery, jqueryEasing); +} + +// CSS task +function css() { + return gulp + .src("./scss/**/*.scss") + .pipe(plumber()) + .pipe(sass({ + outputStyle: "expanded", + includePaths: "./node_modules", + })) + .on("error", sass.logError) + .pipe(autoprefixer({ + cascade: false + })) + .pipe(header(banner, { + pkg: pkg + })) + .pipe(gulp.dest("./css")) + .pipe(rename({ + suffix: ".min" + })) + .pipe(cleanCSS()) + .pipe(gulp.dest("./css")) + .pipe(browsersync.stream()); +} + +// JS task +function js() { + return gulp + .src([ + './js/*.js', + '!./js/*.min.js', + ]) + .pipe(uglify()) + .pipe(header(banner, { + pkg: pkg + })) + .pipe(rename({ + suffix: '.min' + })) + .pipe(gulp.dest('./js')) + .pipe(browsersync.stream()); +} + +// Watch files +function watchFiles() { + gulp.watch("./scss/**/*", css); + gulp.watch(["./js/**/*", "!./js/**/*.min.js"], js); + gulp.watch("./**/*.html", browserSyncReload); +} + +// Define complex tasks +const vendor = gulp.series(clean, modules); +const build = gulp.series(vendor, gulp.parallel(css, js)); +const watch = gulp.series(build, gulp.parallel(watchFiles, browserSync)); + +// Export tasks +exports.css = css; +exports.js = js; +exports.clean = clean; +exports.vendor = vendor; +exports.build = build; +exports.watch = watch; +exports.default = build; diff --git a/static/img/201851041.jpg b/static/img/201851041.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bca40438123a76af95c1d8d4d2c30fc9cbc7352 GIT binary patch literal 26719 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 bmyFv7VRcCgjUH*ouVLzMgHNY0?)3dHD_|3` literal 0 HcmV?d00001 diff --git a/static/img/logo-umk.png b/static/img/logo-umk.png new file mode 100644 index 0000000000000000000000000000000000000000..cda8b8bb024ac30643adf5e03e9110f79c2cf202 GIT binary patch literal 185587 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

X_7^1D>QxYVo5fB6!F1_q>?!EUR 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�Dt5x+Tgn+cJFR-$U-Y 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

98*fBXx+%v-; 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 literal 0 HcmV?d00001 diff --git a/static/js/demo/chart-area-demo.js b/static/js/demo/chart-area-demo.js new file mode 100644 index 0000000..0bb9c4d --- /dev/null +++ b/static/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/static/js/demo/chart-bar-demo.js b/static/js/demo/chart-bar-demo.js new file mode 100644 index 0000000..89ec2dd --- /dev/null +++ b/static/js/demo/chart-bar-demo.js @@ -0,0 +1,111 @@ +// 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); +} + +// Bar Chart Example +var ctx = document.getElementById("myBarChart"); +var myBarChart = new Chart(ctx, { + type: 'bar', + data: { + labels: ["January", "February", "March", "April", "May", "June"], + datasets: [{ + label: "Revenue", + backgroundColor: "#4e73df", + hoverBackgroundColor: "#2e59d9", + borderColor: "#4e73df", + data: [4215, 5312, 6251, 7841, 9821, 14984], + }], + }, + options: { + maintainAspectRatio: false, + layout: { + padding: { + left: 10, + right: 25, + top: 25, + bottom: 0 + } + }, + scales: { + xAxes: [{ + time: { + unit: 'month' + }, + gridLines: { + display: false, + drawBorder: false + }, + ticks: { + maxTicksLimit: 6 + }, + maxBarThickness: 25, + }], + yAxes: [{ + ticks: { + min: 0, + max: 15000, + 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: { + titleMarginBottom: 10, + titleFontColor: '#6e707e', + titleFontSize: 14, + backgroundColor: "rgb(255,255,255)", + bodyFontColor: "#858796", + borderColor: '#dddfeb', + borderWidth: 1, + xPadding: 15, + yPadding: 15, + displayColors: false, + caretPadding: 10, + callbacks: { + label: function(tooltipItem, chart) { + var datasetLabel = chart.datasets[tooltipItem.datasetIndex].label || ''; + return datasetLabel + ': $' + number_format(tooltipItem.yLabel); + } + } + }, + } +}); diff --git a/static/js/demo/chart-pie-demo.js b/static/js/demo/chart-pie-demo.js new file mode 100644 index 0000000..c393ac1 --- /dev/null +++ b/static/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/static/js/demo/datatables-demo.js b/static/js/demo/datatables-demo.js new file mode 100644 index 0000000..f2eecbf --- /dev/null +++ b/static/js/demo/datatables-demo.js @@ -0,0 +1,4 @@ +// Call the dataTables jQuery plugin +$(document).ready(function() { + $('#dataTable').DataTable(); +}); diff --git a/static/js/sb-admin-2.js b/static/js/sb-admin-2.js new file mode 100644 index 0000000..b0412d1 --- /dev/null +++ b/static/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/static/js/sb-admin-2.min.js b/static/js/sb-admin-2.min.js new file mode 100644 index 0000000..653e841 --- /dev/null +++ b/static/js/sb-admin-2.min.js @@ -0,0 +1,7 @@ +/*! + * Start Bootstrap - SB Admin 2 v4.1.3 (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=6" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-each-series": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.10.0" + } + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "dev": true + }, + "node_modules/block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "dependencies": { + "inherits": "~2.0.0" + }, + "engines": { + "node": "0.4 || >=0.5.8" + } + }, + "node_modules/bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + }, + "peerDependencies": { + "jquery": "1.9.1 - 3", + "popper.js": "^1.16.1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-sync": { + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", + "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", + "dev": true, + "dependencies": { + "browser-sync-client": "^2.26.14", + "browser-sync-ui": "^2.26.14", + "bs-recipes": "1.3.4", + "bs-snippet-injector": "^2.0.1", + "chokidar": "^3.5.1", + "connect": "3.6.6", + "connect-history-api-fallback": "^1", + "dev-ip": "^1.0.1", + "easy-extender": "^2.3.4", + "eazy-logger": "3.1.0", + "etag": "^1.8.1", + "fresh": "^0.5.2", + "fs-extra": "3.0.1", + "http-proxy": "^1.18.1", + "immutable": "^3", + "localtunnel": "^2.0.1", + "micromatch": "^4.0.2", + "opn": "5.3.0", + "portscanner": "2.1.1", + "qs": "6.2.3", + "raw-body": "^2.3.2", + "resp-modifier": "6.0.2", + "rx": "4.1.0", + "send": "0.16.2", + "serve-index": "1.9.1", + "serve-static": "1.13.2", + "server-destroy": "1.0.1", + "socket.io": "2.4.0", + "ua-parser-js": "^0.7.18", + "yargs": "^15.4.1" + }, + "bin": { + "browser-sync": "dist/bin.js" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/browser-sync-client": { + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", + "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", + "dev": true, + "dependencies": { + "etag": "1.8.1", + "fresh": "0.5.2", + "mitt": "^1.1.3", + "rxjs": "^5.5.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/browser-sync-ui": { + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", + "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", + "dev": true, + "dependencies": { + "async-each-series": "0.1.1", + "connect-history-api-fallback": "^1", + "immutable": "^3", + "server-destroy": "1.0.1", + "socket.io-client": "^2.4.0", + "stream-throttle": "^0.1.3" + } + }, + "node_modules/browserslist": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bs-recipes": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", + "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", + "dev": true + }, + "node_modules/bs-snippet-injector": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", + "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=", + "dev": true + }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001219", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", + "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==", + "dev": true + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "license": "MIT", + "dependencies": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "node_modules/chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "dependencies": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "node_modules/chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "dependencies": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/datatables.net": { + "version": "1.10.24", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.24.tgz", + "integrity": "sha512-CwXixvOdinvBCLXvcTloDinWiEM7Geaz+GwyjPrZL+MXIGPcLv4Op1bbWn8ErsI1JWMIWC8Cuf1rnDU2RrFV5w==", + "dependencies": { + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-bs4": { + "version": "1.10.24", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.10.24.tgz", + "integrity": "sha512-NgjQMqCo5pg49c5TWsc78UYhcvWPAFkZ7qH4yKAb1e0eLNCAo+TLeaIsDiAPpcWwP7xpjdAmZIIbXDpspNTCkg==", + "dependencies": { + "datatables.net": "1.10.24", + "jquery": ">=1.7" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", + "dev": true, + "bin": { + "dev-ip": "lib/dev-ip.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/easy-extender": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", + "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/eazy-logger": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz", + "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==", + "dev": true, + "dependencies": { + "tfunk": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.723", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", + "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", + "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "~7.4.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/engine.io-client": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz", + "integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==", + "dev": true, + "dependencies": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "dev": true, + "dependencies": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.4", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/findup-sync/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", + "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs-mkdirp-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/fstream/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-stream/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-stream/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-watcher/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/glob-watcher/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/glob-watcher/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/glob-watcher/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-watcher/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/glob-watcher/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "dependencies": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-autoprefixer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-7.0.1.tgz", + "integrity": "sha512-QJGEmHw+bEt7FSqvmbAUTxbCuNLJYx4sz3ox9WouYqT/7j5FH5CQ8ZnpL1M7H5npX1bUJa7lUVY1w20jXxhOxg==", + "dev": true, + "dependencies": { + "autoprefixer": "^9.6.1", + "fancy-log": "^1.3.2", + "plugin-error": "^1.0.1", + "postcss": "^7.0.17", + "through2": "^3.0.1", + "vinyl-sourcemaps-apply": "^0.2.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "gulp": ">=4" + }, + "peerDependenciesMeta": { + "gulp": { + "optional": true + } + } + }, + "node_modules/gulp-clean-css": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", + "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", + "dev": true, + "dependencies": { + "clean-css": "4.2.3", + "plugin-error": "1.0.1", + "through2": "3.0.1", + "vinyl-sourcemaps-apply": "0.2.1" + } + }, + "node_modules/gulp-clean-css/node_modules/through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "dependencies": { + "readable-stream": "2 || 3" + } + }, + "node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-cli/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-cli/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/gulp-cli/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/gulp-cli/node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/gulp-cli/node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "node_modules/gulp-cli/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-cli/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "node_modules/gulp-cli/node_modules/yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "node_modules/gulp-cli/node_modules/yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + }, + "node_modules/gulp-header": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-2.0.9.tgz", + "integrity": "sha512-LMGiBx+qH8giwrOuuZXSGvswcIUh0OiioNkUpLhNyvaC6/Ga8X6cfAeme2L5PqsbXMhL8o8b/OmVqIQdxprhcQ==", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "^1.1.0", + "lodash.template": "^4.5.0", + "map-stream": "0.0.7", + "through2": "^2.0.0" + } + }, + "node_modules/gulp-header/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-plumber": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.2.1.tgz", + "integrity": "sha512-mctAi9msEAG7XzW5ytDVZ9PxWMzzi1pS2rBH7lA095DhMa6KEXjm+St0GOCc567pJKJ/oCvosVAZEpAey0q2eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "fancy-log": "^1.3.2", + "plugin-error": "^0.1.2", + "through2": "^2.0.3" + }, + "engines": { + "node": ">=0.10", + "npm": ">=1.2.10" + } + }, + "node_modules/gulp-plumber/node_modules/arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-plumber/node_modules/arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-plumber/node_modules/array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-plumber/node_modules/extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "dependencies": { + "kind-of": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-plumber/node_modules/kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-plumber/node_modules/plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "dependencies": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-plumber/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-rename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", + "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.1.0.tgz", + "integrity": "sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==", + "dev": true, + "dependencies": { + "chalk": "^2.3.0", + "lodash": "^4.17.11", + "node-sass": "^4.8.3", + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "strip-ansi": "^4.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/gulp-sass/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-uglify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", + "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "extend-shallow": "^3.0.2", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "isobject": "^3.0.1", + "make-error-cause": "^1.1.1", + "safe-buffer": "^5.1.2", + "through2": "^2.0.0", + "uglify-js": "^3.0.5", + "vinyl-sourcemaps-apply": "^0.2.0" + } + }, + "node_modules/gulp-uglify/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "dependencies": { + "isarray": "2.0.1" + } + }, + "node_modules/has-binary2/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "node_modules/has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true, + "bin": { + "in-install": "in-install.js", + "in-publish": "in-publish.js", + "not-in-install": "not-in-install.js", + "not-in-publish": "not-in-publish.js" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-like": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "dev": true, + "dependencies": { + "lodash.isfinite": "^3.3.2" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "node_modules/jquery.easing": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jquery.easing/-/jquery.easing-1.4.1.tgz", + "integrity": "sha1-R5gsWDa9dY/UhJSSPEoQHvbpPjs=", + "license": "BSD-3-Clause" + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "dependencies": { + "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/limiter": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/localtunnel": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.1.tgz", + "integrity": "sha512-LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA==", + "dev": true, + "dependencies": { + "axios": "0.21.1", + "debug": "4.3.1", + "openurl": "1.1.1", + "yargs": "16.2.0" + }, + "bin": { + "lt": "bin/lt.js" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/localtunnel/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/localtunnel/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/localtunnel/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/localtunnel/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/localtunnel/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/localtunnel/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/localtunnel/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/localtunnel/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/localtunnel/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/localtunnel/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/localtunnel/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/localtunnel/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/localtunnel/node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "node_modules/lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", + "dev": true, + "dependencies": { + "make-error": "^1.2.0" + } + }, + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/make-iterator/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "dependencies": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true, + "bin": { + "mime": "cli.js" + } + }, + "node_modules/mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dev": true, + "dependencies": { + "mime-db": "1.47.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node_modules/node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "dependencies": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/node-gyp/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "node_modules/node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "dependencies": { + "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", + "dev": true + }, + "node_modules/opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", + "dev": true + }, + "node_modules/parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/portscanner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", + "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "dev": true, + "dependencies": { + "async": "1.5.2", + "is-number-like": "^1.0.3" + }, + "engines": { + "node": ">=0.4", + "npm": ">=1.0.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "node_modules/postcss/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", + "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redent/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "dependencies": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-bom-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "dependencies": { + "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", + "dev": true, + "dependencies": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, + "node_modules/rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "dependencies": { + "symbol-observable": "1.0.1" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "bin": { + "sassgraph": "bin/sassgraph" + } + }, + "node_modules/sass-graph/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sass-graph/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/sass-graph/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/sass-graph/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sass-graph/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/sass-graph/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "dependencies": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + } + }, + "node_modules/scss-tokenizer/node_modules/source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "dependencies": { + "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/send/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/socket.io": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", + "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", + "dev": true, + "dependencies": { + "debug": "~4.1.0", + "engine.io": "~3.5.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.4.0", + "socket.io-parser": "~3.4.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", + "dev": true + }, + "node_modules/socket.io-client": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "dev": true, + "dependencies": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", + "has-binary2": "~1.0.2", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/socket.io-client/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "node_modules/socket.io-client/node_modules/socket.io-parser": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "dev": true, + "dependencies": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + }, + "node_modules/socket.io-parser": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "dev": true, + "dependencies": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + } + }, + "node_modules/socket.io-parser/node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/socket.io-parser/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/stream-throttle": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", + "dev": true, + "dependencies": { + "commander": "^2.2.0", + "limiter": "^1.0.5" + }, + "bin": { + "throttleproxy": "bin/throttleproxy.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "dependencies": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "dependencies": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "node_modules/tfunk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz", + "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "dlv": "^1.1.3" + } + }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/through2-filter/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "dependencies": { + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/to-through/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "dependencies": { + "glob": "^7.1.2" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/uglify-js": { + "version": "3.13.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", + "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", + "dev": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "dependencies": { + "source-map": "^0.5.1" + } + }, + "node_modules/vinyl-sourcemaps-apply/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/ws": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + } + }, + "dependencies": { + "@fortawesome/fontawesome-free": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz", + "integrity": "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-each-series": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "requires": {} + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-sync": { + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", + "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", + "dev": true, + "requires": { + "browser-sync-client": "^2.26.14", + "browser-sync-ui": "^2.26.14", + "bs-recipes": "1.3.4", + "bs-snippet-injector": "^2.0.1", + "chokidar": "^3.5.1", + "connect": "3.6.6", + "connect-history-api-fallback": "^1", + "dev-ip": "^1.0.1", + "easy-extender": "^2.3.4", + "eazy-logger": "3.1.0", + "etag": "^1.8.1", + "fresh": "^0.5.2", + "fs-extra": "3.0.1", + "http-proxy": "^1.18.1", + "immutable": "^3", + "localtunnel": "^2.0.1", + "micromatch": "^4.0.2", + "opn": "5.3.0", + "portscanner": "2.1.1", + "qs": "6.2.3", + "raw-body": "^2.3.2", + "resp-modifier": "6.0.2", + "rx": "4.1.0", + "send": "0.16.2", + "serve-index": "1.9.1", + "serve-static": "1.13.2", + "server-destroy": "1.0.1", + "socket.io": "2.4.0", + "ua-parser-js": "^0.7.18", + "yargs": "^15.4.1" + } + }, + "browser-sync-client": { + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", + "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", + "dev": true, + "requires": { + "etag": "1.8.1", + "fresh": "0.5.2", + "mitt": "^1.1.3", + "rxjs": "^5.5.6" + } + }, + "browser-sync-ui": { + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", + "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", + "dev": true, + "requires": { + "async-each-series": "0.1.1", + "connect-history-api-fallback": "^1", + "immutable": "^3", + "server-destroy": "1.0.1", + "socket.io-client": "^2.4.0", + "stream-throttle": "^0.1.3" + } + }, + "browserslist": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "bs-recipes": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", + "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", + "dev": true + }, + "bs-snippet-injector": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", + "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=", + "dev": true + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001219", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", + "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "requires": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "datatables.net": { + "version": "1.10.24", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.24.tgz", + "integrity": "sha512-CwXixvOdinvBCLXvcTloDinWiEM7Geaz+GwyjPrZL+MXIGPcLv4Op1bbWn8ErsI1JWMIWC8Cuf1rnDU2RrFV5w==", + "requires": { + "jquery": ">=1.7" + } + }, + "datatables.net-bs4": { + "version": "1.10.24", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.10.24.tgz", + "integrity": "sha512-NgjQMqCo5pg49c5TWsc78UYhcvWPAFkZ7qH4yKAb1e0eLNCAo+TLeaIsDiAPpcWwP7xpjdAmZIIbXDpspNTCkg==", + "requires": { + "datatables.net": "1.10.24", + "jquery": ">=1.7" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "easy-extender": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", + "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "eazy-logger": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz", + "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==", + "dev": true, + "requires": { + "tfunk": "^4.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.723", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", + "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", + "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "~7.4.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "engine.io-client": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz", + "integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==", + "dev": true, + "requires": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.4", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", + "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + } + }, + "gulp-autoprefixer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-7.0.1.tgz", + "integrity": "sha512-QJGEmHw+bEt7FSqvmbAUTxbCuNLJYx4sz3ox9WouYqT/7j5FH5CQ8ZnpL1M7H5npX1bUJa7lUVY1w20jXxhOxg==", + "dev": true, + "requires": { + "autoprefixer": "^9.6.1", + "fancy-log": "^1.3.2", + "plugin-error": "^1.0.1", + "postcss": "^7.0.17", + "through2": "^3.0.1", + "vinyl-sourcemaps-apply": "^0.2.1" + } + }, + "gulp-clean-css": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", + "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", + "dev": true, + "requires": { + "clean-css": "4.2.3", + "plugin-error": "1.0.1", + "through2": "3.0.1", + "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } + }, + "gulp-header": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-2.0.9.tgz", + "integrity": "sha512-LMGiBx+qH8giwrOuuZXSGvswcIUh0OiioNkUpLhNyvaC6/Ga8X6cfAeme2L5PqsbXMhL8o8b/OmVqIQdxprhcQ==", + "dev": true, + "requires": { + "concat-with-sourcemaps": "^1.1.0", + "lodash.template": "^4.5.0", + "map-stream": "0.0.7", + "through2": "^2.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-plumber": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.2.1.tgz", + "integrity": "sha512-mctAi9msEAG7XzW5ytDVZ9PxWMzzi1pS2rBH7lA095DhMa6KEXjm+St0GOCc567pJKJ/oCvosVAZEpAey0q2eQ==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "fancy-log": "^1.3.2", + "plugin-error": "^0.1.2", + "through2": "^2.0.3" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-rename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", + "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", + "dev": true + }, + "gulp-sass": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.1.0.tgz", + "integrity": "sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "lodash": "^4.17.11", + "node-sass": "^4.8.3", + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "strip-ansi": "^4.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-uglify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", + "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "extend-shallow": "^3.0.2", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "isobject": "^3.0.1", + "make-error-cause": "^1.1.1", + "safe-buffer": "^5.1.2", + "through2": "^2.0.0", + "uglify-js": "^3.0.5", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "dev": true + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-core-module": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-like": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "dev": true, + "requires": { + "lodash.isfinite": "^3.3.2" + } + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "jquery.easing": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jquery.easing/-/jquery.easing-1.4.1.tgz", + "integrity": "sha1-R5gsWDa9dY/UhJSSPEoQHvbpPjs=" + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "limiter": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "localtunnel": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.1.tgz", + "integrity": "sha512-LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA==", + "dev": true, + "requires": { + "axios": "0.21.1", + "debug": "4.3.1", + "openurl": "1.1.1", + "yargs": "16.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", + "dev": true, + "requires": { + "make-error": "^1.2.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "dev": true + }, + "mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dev": true, + "requires": { + "mime-db": "1.47.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", + "dev": true + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "peer": true + }, + "portscanner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", + "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "dev": true, + "requires": { + "async": "1.5.2", + "is-number-like": "^1.0.3" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", + "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + } + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", + "dev": true, + "requires": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", + "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", + "dev": true, + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.5.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.4.0", + "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", + "dev": true + }, + "socket.io-client": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", + "has-binary2": "~1.0.2", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "socket.io-parser": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "dev": true, + "requires": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + } + } + }, + "socket.io-parser": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "stream-throttle": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", + "dev": true, + "requires": { + "commander": "^2.2.0", + "limiter": "^1.0.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "tfunk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz", + "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "dlv": "^1.1.3" + } + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "requires": { + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "dev": true + }, + "uglify-js": { + "version": "3.13.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", + "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", + "dev": true, + "requires": {} + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + } + } +} diff --git a/static/package.json b/static/package.json new file mode 100644 index 0000000..ad8f8a2 --- /dev/null +++ b/static/package.json @@ -0,0 +1,54 @@ +{ + "title": "SB Admin 2", + "name": "startbootstrap-sb-admin-2", + "version": "4.1.3", + "scripts": { + "start": "node_modules/.bin/gulp watch" + }, + "description": "An open source Bootstrap 4 admin theme.", + "keywords": [ + "css", + "sass", + "html", + "responsive", + "theme", + "template", + "admin", + "app" + ], + "homepage": "https://startbootstrap.com/theme/sb-admin-2", + "bugs": { + "url": "https://github.com/StartBootstrap/startbootstrap-sb-admin-2/issues", + "email": "feedback@startbootstrap.com" + }, + "license": "MIT", + "author": "Start Bootstrap", + "contributors": [ + "David Miller (https://davidmiller.io/)" + ], + "repository": { + "type": "git", + "url": "https://github.com/StartBootstrap/startbootstrap-sb-admin-2.git" + }, + "dependencies": { + "@fortawesome/fontawesome-free": "5.15.3", + "bootstrap": "4.6.0", + "chart.js": "2.9.4", + "datatables.net-bs4": "1.10.24", + "jquery": "3.6.0", + "jquery.easing": "^1.4.1" + }, + "devDependencies": { + "browser-sync": "2.26.14", + "del": "6.0.0", + "gulp": "4.0.2", + "gulp-autoprefixer": "7.0.1", + "gulp-clean-css": "4.3.0", + "gulp-header": "2.0.9", + "gulp-plumber": "^1.2.1", + "gulp-rename": "2.0.0", + "gulp-sass": "4.1.0", + "gulp-uglify": "3.0.2", + "merge-stream": "2.0.0" + } +} diff --git a/static/scss/_buttons.scss b/static/scss/_buttons.scss new file mode 100644 index 0000000..afcfc20 --- /dev/null +++ b/static/scss/_buttons.scss @@ -0,0 +1,52 @@ +.btn-circle { + border-radius: 100%; + height: 2.5rem; + width: 2.5rem; + font-size: 1rem; + display: inline-flex; + align-items: center; + justify-content: center; + &.btn-sm { + height: 1.8rem; + width: 1.8rem; + font-size: 0.75rem; + } + &.btn-lg { + 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; + .icon { + background: fade-out($black, .85); + display: inline-block; + padding: $btn-padding-y $btn-padding-x; + } + .text { + display: inline-block; + padding: $btn-padding-y $btn-padding-x; + } + &.btn-sm { + .icon { + padding: $btn-padding-y-sm $btn-padding-x-sm; + } + .text { + padding: $btn-padding-y-sm $btn-padding-x-sm; + } + } + &.btn-lg { + .icon { + padding: $btn-padding-y-lg $btn-padding-x-lg; + } + .text { + padding: $btn-padding-y-lg $btn-padding-x-lg; + } + } +} diff --git a/static/scss/_cards.scss b/static/scss/_cards.scss new file mode 100644 index 0000000..36337dd --- /dev/null +++ b/static/scss/_cards.scss @@ -0,0 +1,36 @@ +// Custom Card Styling + +.card { + .card-header { + // Format Dropdowns in Card Headings + .dropdown { + line-height: 1; + .dropdown-menu { + line-height: 1.5; + } + } + } + // Collapsable Card Styling + .card-header[data-toggle="collapse"] { + text-decoration: none; + position: relative; + padding: 0.75rem 3.25rem 0.75rem 1.25rem; + &::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: $gray-400; + } + &.collapsed { + border-radius: $card-border-radius; + &::after { + content: '\f105'; + } + } + } +} diff --git a/static/scss/_charts.scss b/static/scss/_charts.scss new file mode 100644 index 0000000..8124814 --- /dev/null +++ b/static/scss/_charts.scss @@ -0,0 +1,29 @@ +// Area Chart +.chart-area { + position: relative; + height: 10rem; + width: 100%; + @include media-breakpoint-up(md) { + height: 20rem; + } +} + +// Bar Chart +.chart-bar { + position: relative; + height: 10rem; + width: 100%; + @include media-breakpoint-up(md) { + height: 20rem; + } +} + +// Pie Chart +.chart-pie { + position: relative; + height: 15rem; + width: 100%; + @include media-breakpoint-up(md) { + height: calc(20rem - 43px) !important; + } +} diff --git a/static/scss/_dropdowns.scss b/static/scss/_dropdowns.scss new file mode 100644 index 0000000..a2858e1 --- /dev/null +++ b/static/scss/_dropdowns.scss @@ -0,0 +1,21 @@ +// Custom Dropdown Styling + +.dropdown { + .dropdown-menu { + font-size: $dropdown-font-size; + .dropdown-header { + @extend .text-uppercase; + font-weight: 800; + font-size: 0.65rem; + color: $gray-500; + } + } +} + +// Utility class to hide arrow from dropdown + +.dropdown.no-arrow { + .dropdown-toggle::after { + display: none; + } +} diff --git a/static/scss/_error.scss b/static/scss/_error.scss new file mode 100644 index 0000000..66cbedc --- /dev/null +++ b/static/scss/_error.scss @@ -0,0 +1,52 @@ +// Lucas Bebber's Glitch Effect +// Tutorial and CSS from CSS Tricks +// https://css-tricks.com/glitch-effect-text-images-svg/ + +.error { + color: $gray-800; + font-size: 7rem; + position: relative; + line-height: 1; + width: 12.5rem; +} +@keyframes noise-anim { + $steps: 20; + @for $i from 0 through $steps { + #{percentage($i*(1/$steps))} { + clip: rect(random(100)+px,9999px,random(100)+px,0); + } + } +} +.error:after { + content: attr(data-text); + position: absolute; + left: 2px; + text-shadow: -1px 0 $red; + top: 0; + color: $gray-800; + background: $gray-100; + overflow: hidden; + clip: rect(0,900px,0,0); + animation: noise-anim 2s infinite linear alternate-reverse; +} + +@keyframes noise-anim-2 { + $steps: 20; + @for $i from 0 through $steps { + #{percentage($i*(1/$steps))} { + clip: rect(random(100)+px,9999px,random(100)+px,0); + } + } +} +.error:before { + content: attr(data-text); + position: absolute; + left: -2px; + text-shadow: 1px 0 $blue; + top: 0; + color: $gray-800; + background: $gray-100; + overflow: hidden; + clip: rect(0,900px,0,0); + animation: noise-anim-2 3s infinite linear alternate-reverse; +} diff --git a/static/scss/_footer.scss b/static/scss/_footer.scss new file mode 100644 index 0000000..99d9dcf --- /dev/null +++ b/static/scss/_footer.scss @@ -0,0 +1,14 @@ +footer.sticky-footer { + padding: 2rem 0; + flex-shrink: 0; + .copyright { + line-height: 1; + font-size: 0.8rem; + } +} + +body.sidebar-toggled { + footer.sticky-footer { + width: 100%; + } +} diff --git a/static/scss/_global.scss b/static/scss/_global.scss new file mode 100644 index 0000000..fa44c55 --- /dev/null +++ b/static/scss/_global.scss @@ -0,0 +1,60 @@ +// Global component styles + +html { + position: relative; + min-height: 100%; +} + +body { + height: 100%; +} + +a { + &:focus { + outline: none; + } +} + +// Main page wrapper +#wrapper { + display: flex; + #content-wrapper { + background-color: $gray-100; + width: 100%; + overflow-x: hidden; + #content { + flex: 1 0 auto; + } + } +} + +// Set container padding to match gutter width instead of default 15px +.container, +.container-fluid { + padding-left: $grid-gutter-width; + padding-right: $grid-gutter-width; +} + +// Scroll to top button +.scroll-to-top { + position: fixed; + right: 1rem; + bottom: 1rem; + display: none; + width: 2.75rem; + height: 2.75rem; + text-align: center; + color: $white; + background: fade-out($gray-800, .5); + line-height: 46px; + &:focus, + &:hover { + color: white; + } + &:hover { + background: $gray-800; + } + i { + font-weight: 800; + } +} diff --git a/static/scss/_login.scss b/static/scss/_login.scss new file mode 100644 index 0000000..4447a29 --- /dev/null +++ b/static/scss/_login.scss @@ -0,0 +1,50 @@ +// Pulling these images from Unsplash +// Toshi the dog from https://unsplash.com/@charlesdeluvio - what a funny dog... + +.bg-login-image { + background: url($login-image); + background-position: center; + background-size: cover; +} + +.bg-register-image { + background: url($register-image); + background-position: center; + background-size: cover; +} + +.bg-password-image { + background: url($password-image); + background-position: center; + background-size: cover; +} + +form.user { + + .custom-checkbox.small { + label { + line-height: 1.5rem; + } + } + + .form-control-user { + font-size: 0.8rem; + border-radius: 10rem; + padding: 1.5rem 1rem; + } + + .btn-user { + font-size: 0.8rem; + border-radius: 10rem; + padding: 0.75rem 1rem; + } + +} + +.btn-google { + @include button-variant($brand-google, $white); +} + +.btn-facebook { + @include button-variant($brand-facebook, $white); +} diff --git a/static/scss/_mixins.scss b/static/scss/_mixins.scss new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/static/scss/_mixins.scss @@ -0,0 +1 @@ + diff --git a/static/scss/_navs.scss b/static/scss/_navs.scss new file mode 100644 index 0000000..af517b5 --- /dev/null +++ b/static/scss/_navs.scss @@ -0,0 +1,3 @@ +@import "navs/global.scss"; +@import "navs/topbar.scss"; +@import "navs/sidebar.scss"; diff --git a/static/scss/_utilities.scss b/static/scss/_utilities.scss new file mode 100644 index 0000000..bf50ba2 --- /dev/null +++ b/static/scss/_utilities.scss @@ -0,0 +1,7 @@ +@import "utilities/animation.scss"; +@import "utilities/background.scss"; +@import "utilities/display.scss"; +@import "utilities/text.scss"; +@import "utilities/border.scss"; +@import "utilities/progress.scss"; +@import "utilities/rotate.scss"; diff --git a/static/scss/_variables.scss b/static/scss/_variables.scss new file mode 100644 index 0000000..51458e4 --- /dev/null +++ b/static/scss/_variables.scss @@ -0,0 +1,81 @@ +// Override Bootstrap default variables here +// Do not edit any of the files in /vendor/bootstrap/scss/! + +// Color Variables +// Bootstrap Color Overrides + +$white: #fff !default; +$gray-100: #f8f9fc !default; +$gray-200: #eaecf4 !default; +$gray-300: #dddfeb !default; +$gray-400: #d1d3e2 !default; +$gray-500: #b7b9cc !default; +$gray-600: #858796 !default; +$gray-700: #6e707e !default; +$gray-800: #5a5c69 !default; +$gray-900: #3a3b45 !default; +$black: #000 !default; + +$blue: #4e73df !default; +$indigo: #6610f2 !default; +$purple: #6f42c1 !default; +$pink: #e83e8c !default; +$red: #e74a3b !default; +$orange: #fd7e14 !default; +$yellow: #f6c23e !default; +$green: #1cc88a !default; +$teal: #20c9a6 !default; +$cyan: #36b9cc !default; + +// Custom Colors +$brand-google: #ea4335 !default; +$brand-facebook: #3b5998 !default; + +// Set Contrast Threshold +$yiq-contrasted-threshold: 195 !default; + +// Typography +$body-color: $gray-600 !default; + +$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' !default; + +$font-weight-light: 300 !default; +// $font-weight-base: 400; +$headings-font-weight: 400 !default; + +// Shadows +$box-shadow-sm: 0 0.125rem 0.25rem 0 rgba($gray-900, .2) !default; +$box-shadow: 0 0.15rem 1.75rem 0 rgba($gray-900, .15) !default; +// $box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; + +// Borders Radius +$border-radius: 0.35rem !default; +$border-color: darken($gray-200, 2%) !default; + +// Spacing Variables +// Change below variable if the height of the navbar changes +$topbar-base-height: 4.375rem !default; +// Change below variable to change the width of the sidenav +$sidebar-base-width: 14rem !default; +// Change below variable to change the width of the sidenav when collapsed +$sidebar-collapsed-width: 6.5rem !default; + +// Card +$card-cap-bg: $gray-100 !default; +$card-border-color: $border-color !default; + +// Adjust column spacing for symmetry +$spacer: 1rem !default; +$grid-gutter-width: $spacer * 1.5 !default; + +// Transitions +$transition-collapse: height .15s ease !default; + +// Dropdowns +$dropdown-font-size: 0.85rem !default; +$dropdown-border-color: $border-color !default; + +// Images +$login-image: 'https://source.unsplash.com/K4mSJ7kc0As/600x800' !default; +$register-image: 'https://source.unsplash.com/Mv9hjnEUHR4/600x800' !default; +$password-image: 'https://source.unsplash.com/oWTW-jNGl9I/600x800' !default; diff --git a/static/scss/navs/_global.scss b/static/scss/navs/_global.scss new file mode 100644 index 0000000..a52d8b8 --- /dev/null +++ b/static/scss/navs/_global.scss @@ -0,0 +1,42 @@ +// Global styles for both custom sidebar and topbar compoments + +.sidebar, +.topbar { + .nav-item { + // Customize Dropdown Arrows for Navbar + &.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'; + } + } + &.show { + .dropdown-toggle::after { + content: '\f107'; + } + } + } + // Counter for nav links and nav link image sizing + .nav-link { + position: relative; + .badge-counter { + position: absolute; + transform: scale(0.7); + transform-origin: top right; + right: .25rem; + margin-top: -.25rem; + } + .img-profile { + height: 2rem; + width: 2rem; + } + } + } +} diff --git a/static/scss/navs/_sidebar.scss b/static/scss/navs/_sidebar.scss new file mode 100644 index 0000000..03bbb66 --- /dev/null +++ b/static/scss/navs/_sidebar.scss @@ -0,0 +1,477 @@ +// Sidebar +.sidebar { + width: $sidebar-collapsed-width; + min-height: 100vh; + + .nav-item { + position: relative; + + &:last-child { + margin-bottom: 1rem; + } + + .nav-link { + text-align: center; + padding: 0.75rem 1rem; + width: $sidebar-collapsed-width; + + span { + font-size: 0.65rem; + display: block; + } + } + + &.active { + .nav-link { + font-weight: 700; + } + } + + // Accordion + .collapse { + position: absolute; + left: calc(#{$sidebar-collapsed-width} + #{$grid-gutter-width} / 2); + z-index: 1; + top: 2px; + // Grow In Animation + @extend .animated--grow-in; + + .collapse-inner { + border-radius: $border-radius; + box-shadow: $box-shadow; + } + } + + .collapsing { + display: none; + transition: none; + } + + .collapse, + .collapsing { + .collapse-inner { + padding: .5rem 0; + min-width: 10rem; + font-size: $dropdown-font-size; + margin: 0 0 1rem 0; + + .collapse-header { + margin: 0; + white-space: nowrap; + padding: .5rem 1.5rem; + text-transform: uppercase; + font-weight: 800; + font-size: 0.65rem; + color: $gray-500; + } + + .collapse-item { + padding: 0.5rem 1rem; + margin: 0 0.5rem; + display: block; + color: $gray-900; + text-decoration: none; + border-radius: $border-radius; + white-space: nowrap; + + &:hover { + background-color: $gray-200; + } + + &:active { + background-color: $gray-300; + } + + &.active { + color: $primary; + font-weight: 700; + } + } + } + } + } + + #sidebarToggle { + width: 2.5rem; + height: 2.5rem; + text-align: center; + margin-bottom: 1rem; + cursor: pointer; + + &::after { + font-weight: 900; + content: '\f104'; + font-family: 'Font Awesome 5 Free'; + margin-right: 0.1rem; + } + + &:hover { + text-decoration: none; + } + + &:focus { + outline: none; + } + } + + &.toggled { + width: 0 !important; + overflow: hidden; + + #sidebarToggle::after { + content: '\f105'; + font-family: 'Font Awesome 5 Free'; + margin-left: 0.25rem; + } + + .sidebar-card { + display: none; + } + } + + .sidebar-brand { + height: $topbar-base-height; + 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-brand-icon i { + font-size: 2rem; + } + + .sidebar-brand-text { + display: none; + } + } + + hr.sidebar-divider { + margin: 0 1rem 1rem; + } + + .sidebar-heading { + text-align: center; + padding: 0 1rem; + font-weight: 800; + font-size: 0.65rem; + @extend .text-uppercase; + } + + .sidebar-card { + display: flex; + flex-direction: column; + align-items: center; + font-size: $font-size-sm; + border-radius: $border-radius; + color: fade-out($white, 0.2); + margin-left: 1rem; + margin-right: 1rem; + margin-bottom: 1rem; + padding: 1rem; + background-color: fade-out($black, 0.9); + .sidebar-card-illustration { + height: 3rem; + display: block; + } + .sidebar-card-title { + font-weight: bold; + } + p { + font-size: 0.75rem; + color: fade-out($white, 0.5); + } + } +} + +@include media-breakpoint-up(md) { + .sidebar { + width: $sidebar-base-width !important; + + .nav-item { + + // Accordion + .collapse { + position: relative; + left: 0; + z-index: 1; + top: 0; + animation: none; + + .collapse-inner { + border-radius: 0; + box-shadow: none; + } + } + + .collapsing { + display: block; + transition: $transition-collapse; + } + + .collapse, + .collapsing { + margin: 0 1rem; + } + + .nav-link { + display: block; + width: 100%; + text-align: left; + padding: 1rem; + width: $sidebar-base-width; + + i { + font-size: 0.85rem; + margin-right: 0.25rem; + } + + span { + font-size: 0.85rem; + display: inline; + } + + // Accordion Arrow Icon + &[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'; + } + + &.collapsed::after { + content: '\f105'; + } + } + } + } + + .sidebar-brand { + .sidebar-brand-icon i { + font-size: 2rem; + } + + .sidebar-brand-text { + display: inline; + } + } + + .sidebar-heading { + text-align: left; + } + + &.toggled { + overflow: visible; + width: $sidebar-collapsed-width !important; + + .nav-item { + + // Accordion + .collapse { + position: absolute; + left: calc(#{$sidebar-collapsed-width} + #{$grid-gutter-width} / 2); + z-index: 1; + top: 2px; + // Grow In Animation for Toggled State + animation-name: growIn; + animation-duration: 200ms; + animation-timing-function: transform cubic-bezier(.18, 1.25, .4, 1), opacity cubic-bezier(0, 1, .4, 1); + + .collapse-inner { + box-shadow: $box-shadow; + border-radius: $border-radius; + } + } + + .collapsing { + display: none; + transition: none; + } + + .collapse, + .collapsing { + margin: 0; + } + + &:last-child { + margin-bottom: 1rem; + } + + .nav-link { + text-align: center; + padding: 0.75rem 1rem; + width: $sidebar-collapsed-width; + + span { + font-size: 0.65rem; + display: block; + } + + i { + margin-right: 0; + } + + &[data-toggle="collapse"]::after { + display: none; + } + } + } + + .sidebar-brand { + .sidebar-brand-icon i { + font-size: 2rem; + } + + .sidebar-brand-text { + display: none; + } + } + + .sidebar-heading { + text-align: center; + } + } + } +} + +// Sidebar Color Variants + +// Sidebar Light +.sidebar-light { + .sidebar-brand { + color: $gray-700; + } + + hr.sidebar-divider { + border-top: 1px solid $gray-200; + } + + .sidebar-heading { + color: $gray-500; + } + + .nav-item { + .nav-link { + color: $gray-600; + + i { + color: $gray-400; + } + + &:active, + &:focus, + &:hover { + color: $gray-700; + + i { + color: $gray-700; + } + } + + // Accordion + &[data-toggle="collapse"]::after { + color: $gray-500; + } + } + + &.active { + .nav-link { + color: $gray-700; + + i { + color: $gray-700; + } + } + } + } + + // Color the sidebar toggler + #sidebarToggle { + background-color: $gray-200; + + &::after { + color: $gray-500; + } + + &:hover { + background-color: $gray-300; + } + } +} + +// Sidebar Dark +.sidebar-dark { + .sidebar-brand { + color: $white; + } + + hr.sidebar-divider { + border-top: 1px solid fade-out($white, 0.85); + } + + .sidebar-heading { + color: fade-out($white, 0.6); + } + + .nav-item { + .nav-link { + color: fade-out($white, 0.2); + + i { + color: fade-out($white, 0.7); + } + + &:active, + &:focus, + &:hover { + color: $white; + + i { + color: $white; + } + } + + // Accordion + &[data-toggle="collapse"]::after { + color: fade-out($white, 0.5); + } + } + + &.active { + .nav-link { + color: $white; + + i { + color: $white; + } + } + } + } + + // Color the sidebar toggler + #sidebarToggle { + background-color: fade-out($white, 0.8); + + &::after { + color: fade-out($white, 0.5); + } + + &:hover { + background-color: fade-out($white, 0.75); + } + } + + &.toggled { + #sidebarToggle::after { + color: fade-out($white, 0.5); + } + } +} \ No newline at end of file diff --git a/static/scss/navs/_topbar.scss b/static/scss/navs/_topbar.scss new file mode 100644 index 0000000..fc506bd --- /dev/null +++ b/static/scss/navs/_topbar.scss @@ -0,0 +1,144 @@ +// Topbar +.topbar { + height: $topbar-base-height; + #sidebarToggleTop { + height: 2.5rem; + width: 2.5rem; + &:hover { + background-color: $gray-200; + } + &:active { + background-color: $gray-300; + } + } + .navbar-search { + width: 25rem; + input { + font-size: 0.85rem; + height: auto; + } + } + .topbar-divider { + width: 0; + border-right: 1px solid $border-color; + height: calc(#{$topbar-base-height} - 2rem); + margin: auto 1rem; + } + .nav-item { + .nav-link { + height: $topbar-base-height; + display: flex; + align-items: center; + padding: 0 0.75rem; + &:focus { + outline: none; + } + } + &:focus { + outline: none; + } + } + .dropdown { + position: static; + .dropdown-menu { + width: calc(100% - #{$grid-gutter-width}); + right: $grid-gutter-width / 2; + } + } + .dropdown-list { + padding: 0; + border: none; + overflow: hidden; + .dropdown-header { + background-color: $primary; + border: 1px solid $primary; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: $white; + } + .dropdown-item { + white-space: normal; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + border-left: 1px solid $border-color; + border-right: 1px solid $border-color; + border-bottom: 1px solid $border-color; + line-height: 1.3rem; + .dropdown-list-image { + position: relative; + height: 2.5rem; + width: 2.5rem; + img { + height: 2.5rem; + width: 2.5rem; + } + .status-indicator { + background-color: $gray-200; + height: 0.75rem; + width: 0.75rem; + border-radius: 100%; + position: absolute; + bottom: 0; + right: 0; + border: .125rem solid $white; + } + } + .text-truncate { + max-width: 10rem; + } + &:active { + background-color: $gray-200; + color: $gray-900; + } + } + } + @include media-breakpoint-up(sm) { + .dropdown { + position: relative; + .dropdown-menu { + width: auto; + right: 0; + } + } + .dropdown-list { + width: 20rem !important; + .dropdown-item { + .text-truncate { + max-width: 13.375rem; + } + } + } + } +} + +.topbar.navbar-dark { + .navbar-nav { + .nav-item { + .nav-link { + color: fade-out($white, 0.2); + &:hover { + color: $white; + } + &:active { + color: $white; + } + } + } + } +} + +.topbar.navbar-light { + .navbar-nav { + .nav-item { + .nav-link { + color: $gray-400; + &:hover { + color: $gray-500; + } + &:active { + color: $gray-600; + } + } + } + } +} diff --git a/static/scss/sb-admin-2.scss b/static/scss/sb-admin-2.scss new file mode 100644 index 0000000..cdd6f08 --- /dev/null +++ b/static/scss/sb-admin-2.scss @@ -0,0 +1,20 @@ +// Import Custom SB Admin 2 Variables (Overrides Default Bootstrap Variables) +@import "variables.scss"; + +// Import Bootstrap +@import "../vendor/bootstrap/scss/bootstrap.scss"; + +// Import Custom SB Admin 2 Mixins and Components +@import "mixins.scss"; +@import "global.scss"; +@import "utilities.scss"; + +// Custom Components +@import "dropdowns.scss"; +@import "navs.scss"; +@import "buttons.scss"; +@import "cards.scss"; +@import "charts.scss"; +@import "login.scss"; +@import "error.scss"; +@import "footer.scss"; diff --git a/static/scss/utilities/_animation.scss b/static/scss/utilities/_animation.scss new file mode 100644 index 0000000..7a40d4d --- /dev/null +++ b/static/scss/utilities/_animation.scss @@ -0,0 +1,37 @@ +// Animation Utilities + +// Grow In Animation + +@keyframes growIn { + 0% { + transform: scale(0.9); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +.animated--grow-in { + animation-name: growIn; + animation-duration: 200ms; + animation-timing-function: transform cubic-bezier(.18,1.25,.4,1), opacity cubic-bezier(0,1,.4,1); +} + +// Fade In Animation + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +.animated--fade-in { + animation-name: fadeIn; + animation-duration: 200ms; + animation-timing-function: opacity cubic-bezier(0,1,.4,1); +} diff --git a/static/scss/utilities/_background.scss b/static/scss/utilities/_background.scss new file mode 100644 index 0000000..b4ceff1 --- /dev/null +++ b/static/scss/utilities/_background.scss @@ -0,0 +1,17 @@ +// Background Gradient Utilities + +@each $color, $value in $theme-colors { + .bg-gradient-#{$color} { + background-color: $value; + background-image: linear-gradient(180deg, $value 10%, darken($value, 15%) 100%); + background-size: cover; + } +} + +// Grayscale Background Utilities + +@each $level, $value in $grays { + .bg-gray-#{$level} { + background-color: $value !important; + } +} diff --git a/static/scss/utilities/_border.scss b/static/scss/utilities/_border.scss new file mode 100644 index 0000000..cede0e4 --- /dev/null +++ b/static/scss/utilities/_border.scss @@ -0,0 +1,7 @@ +@each $color, $value in $theme-colors { + @each $position in ['left', 'bottom'] { + .border-#{$position}-#{$color} { + border-#{$position}: .25rem solid $value !important; + } + } +} diff --git a/static/scss/utilities/_display.scss b/static/scss/utilities/_display.scss new file mode 100644 index 0000000..410b9ad --- /dev/null +++ b/static/scss/utilities/_display.scss @@ -0,0 +1,4 @@ +// Overflow Hidden +.o-hidden { + overflow: hidden !important; +} diff --git a/static/scss/utilities/_progress.scss b/static/scss/utilities/_progress.scss new file mode 100644 index 0000000..0c2eb63 --- /dev/null +++ b/static/scss/utilities/_progress.scss @@ -0,0 +1,3 @@ +.progress-sm { + height: .5rem; +} diff --git a/static/scss/utilities/_rotate.scss b/static/scss/utilities/_rotate.scss new file mode 100644 index 0000000..7e33d44 --- /dev/null +++ b/static/scss/utilities/_rotate.scss @@ -0,0 +1,7 @@ +.rotate-15 { + transform: rotate(15deg); +} + +.rotate-n-15 { + transform: rotate(-15deg); +} diff --git a/static/scss/utilities/_text.scss b/static/scss/utilities/_text.scss new file mode 100644 index 0000000..4fb78af --- /dev/null +++ b/static/scss/utilities/_text.scss @@ -0,0 +1,54 @@ +// Grayscale Text Utilities + +.text-xs { + font-size: .7rem; +} + +.text-lg { + font-size: 1.2rem; +} + +.text-gray-100 { + color: $gray-100 !important; +} + +.text-gray-200 { + color: $gray-200 !important; +} + +.text-gray-300 { + color: $gray-300 !important; +} + +.text-gray-400 { + color: $gray-400 !important; +} + +.text-gray-500 { + color: $gray-500 !important; +} + +.text-gray-600 { + color: $gray-600 !important; +} + +.text-gray-700 { + color: $gray-700 !important; +} + +.text-gray-800 { + color: $gray-800 !important; +} + +.text-gray-900 { + color: $gray-900 !important; +} + +.icon-circle { + height: 2.5rem; + width: 2.5rem; + border-radius: 100%; + display: flex; + align-items: center; + justify-content: center; +} diff --git a/static/vendor/bootstrap/js/bootstrap.bundle.js b/static/vendor/bootstrap/js/bootstrap.bundle.js new file mode 100644 index 0000000..d5c1983 --- /dev/null +++ b/static/vendor/bootstrap/js/bootstrap.bundle.js @@ -0,0 +1,7045 @@ +/*! + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : + typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery)); +}(this, (function (exports, $) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var $__default = /*#__PURE__*/_interopDefaultLegacy($); + + 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); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _extends() { + _extends = 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; + }; + + return _extends.apply(this, arguments); + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.6.0): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var TRANSITION_END = 'transitionend'; + var MAX_UID = 1000000; + var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + if (obj === null || typeof obj === 'undefined') { + return "" + obj; + } + + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: TRANSITION_END, + delegateType: TRANSITION_END, + handle: function handle(event) { + if ($__default['default'](event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; + } + }; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $__default['default'](this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator; + $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + var hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (_) { + return null; + } + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { + if (!element) { + return 0; + } // Get transition-duration of the element + + + var transitionDuration = $__default['default'](element).css('transition-duration'); + var transitionDelay = $__default['default'](element).css('transition-delay'); + var floatTransitionDuration = parseFloat(transitionDuration); + var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $__default['default'](element).trigger(TRANSITION_END); + }, + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(TRANSITION_END); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + }, + findShadowRoot: function findShadowRoot(element) { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + var root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return Util.findShadowRoot(element.parentNode); + }, + jQueryDetection: function jQueryDetection() { + if (typeof $__default['default'] === 'undefined') { + throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); + } + + var version = $__default['default'].fn.jquery.split(' ')[0].split('.'); + var minMajor = 1; + var ltMajor = 2; + var minMinor = 9; + var minPatch = 1; + var maxMajor = 4; + + if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { + throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); + } + } + }; + Util.jQueryDetection(); + setTransitionEndSupport(); + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'alert'; + var VERSION = '4.6.0'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME]; + var SELECTOR_DISMISS = '[data-dismiss="alert"]'; + var EVENT_CLOSE = "close" + EVENT_KEY; + var EVENT_CLOSED = "closed" + EVENT_KEY; + var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; + var CLASS_NAME_ALERT = 'alert'; + var CLASS_NAME_FADE = 'fade'; + var CLASS_NAME_SHOW = 'show'; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Alert = /*#__PURE__*/function () { + function Alert(element) { + this._element = element; + } // Getters + + + var _proto = Alert.prototype; + + // Public + _proto.close = function close(element) { + var rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $__default['default'].removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = document.querySelector(selector); + } + + if (!parent) { + parent = $__default['default'](element).closest("." + CLASS_NAME_ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $__default['default'].Event(EVENT_CLOSE); + $__default['default'](element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $__default['default'](element).removeClass(CLASS_NAME_SHOW); + + if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) { + this._destroyElement(element); + + return; + } + + var transitionDuration = Util.getTransitionDurationFromElement(element); + $__default['default'](element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; + + _proto._destroyElement = function _destroyElement(element) { + $__default['default'](element).detach().trigger(EVENT_CLOSED).remove(); + } // Static + ; + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $__default['default'](this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $__default['default'].fn[NAME] = Alert._jQueryInterface; + $__default['default'].fn[NAME].Constructor = Alert; + + $__default['default'].fn[NAME].noConflict = function () { + $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$1 = 'button'; + var VERSION$1 = '4.6.0'; + var DATA_KEY$1 = 'bs.button'; + var EVENT_KEY$1 = "." + DATA_KEY$1; + var DATA_API_KEY$1 = '.data-api'; + var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1]; + var CLASS_NAME_ACTIVE = 'active'; + var CLASS_NAME_BUTTON = 'btn'; + var CLASS_NAME_FOCUS = 'focus'; + var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]'; + var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]'; + var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]'; + var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn'; + var SELECTOR_INPUT = 'input:not([type="hidden"])'; + var SELECTOR_ACTIVE = '.active'; + var SELECTOR_BUTTON = '.btn'; + var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1; + var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1); + var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$1 + DATA_API_KEY$1; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Button = /*#__PURE__*/function () { + function Button(element) { + this._element = element; + this.shouldAvoidTriggerChange = false; + } // Getters + + + var _proto = Button.prototype; + + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0]; + + if (rootElement) { + var input = this._element.querySelector(SELECTOR_INPUT); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(SELECTOR_ACTIVE); + + if (activeElement) { + $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE); + } + } + } + + if (triggerChangeEvent) { + // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input + if (input.type === 'checkbox' || input.type === 'radio') { + input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE); + } + + if (!this.shouldAvoidTriggerChange) { + $__default['default'](input).trigger('change'); + } + } + + input.focus(); + addAriaPressed = false; + } + } + + if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE)); + } + + if (triggerChangeEvent) { + $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE); + } + } + }; + + _proto.dispose = function dispose() { + $__default['default'].removeData(this._element, DATA_KEY$1); + this._element = null; + } // Static + ; + + Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) { + return this.each(function () { + var $element = $__default['default'](this); + var data = $element.data(DATA_KEY$1); + + if (!data) { + data = new Button(this); + $element.data(DATA_KEY$1, data); + } + + data.shouldAvoidTriggerChange = avoidTriggerChange; + + if (config === 'toggle') { + data[config](); + } + }); + }; + + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION$1; + } + }]); + + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) { + var button = event.target; + var initialButton = button; + + if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) { + button = $__default['default'](button).closest(SELECTOR_BUTTON)[0]; + } + + if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { + event.preventDefault(); // work around Firefox bug #1540995 + } else { + var inputBtn = button.querySelector(SELECTOR_INPUT); + + if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { + event.preventDefault(); // work around Firefox bug #1540995 + + return; + } + + if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') { + Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT'); + } + } + }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) { + var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0]; + $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type)); + }); + $__default['default'](window).on(EVENT_LOAD_DATA_API, function () { + // ensure correct active class is set to match the controls' actual values/states + // find all checkboxes/readio buttons inside data-toggle groups + var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS)); + + for (var i = 0, len = buttons.length; i < len; i++) { + var button = buttons[i]; + var input = button.querySelector(SELECTOR_INPUT); + + if (input.checked || input.hasAttribute('checked')) { + button.classList.add(CLASS_NAME_ACTIVE); + } else { + button.classList.remove(CLASS_NAME_ACTIVE); + } + } // find all button toggles + + + buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE)); + + for (var _i = 0, _len = buttons.length; _i < _len; _i++) { + var _button = buttons[_i]; + + if (_button.getAttribute('aria-pressed') === 'true') { + _button.classList.add(CLASS_NAME_ACTIVE); + } else { + _button.classList.remove(CLASS_NAME_ACTIVE); + } + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $__default['default'].fn[NAME$1] = Button._jQueryInterface; + $__default['default'].fn[NAME$1].Constructor = Button; + + $__default['default'].fn[NAME$1].noConflict = function () { + $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1; + return Button._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$2 = 'carousel'; + var VERSION$2 = '4.6.0'; + var DATA_KEY$2 = 'bs.carousel'; + var EVENT_KEY$2 = "." + DATA_KEY$2; + var DATA_API_KEY$2 = '.data-api'; + var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var SWIPE_THRESHOLD = 40; + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' + }; + var DIRECTION_NEXT = 'next'; + var DIRECTION_PREV = 'prev'; + var DIRECTION_LEFT = 'left'; + var DIRECTION_RIGHT = 'right'; + var EVENT_SLIDE = "slide" + EVENT_KEY$2; + var EVENT_SLID = "slid" + EVENT_KEY$2; + var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2; + var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2; + var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2; + var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2; + var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2; + var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2; + var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2; + var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2; + var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2; + var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$2 + DATA_API_KEY$2; + var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2; + var CLASS_NAME_CAROUSEL = 'carousel'; + var CLASS_NAME_ACTIVE$1 = 'active'; + var CLASS_NAME_SLIDE = 'slide'; + var CLASS_NAME_RIGHT = 'carousel-item-right'; + var CLASS_NAME_LEFT = 'carousel-item-left'; + var CLASS_NAME_NEXT = 'carousel-item-next'; + var CLASS_NAME_PREV = 'carousel-item-prev'; + var CLASS_NAME_POINTER_EVENT = 'pointer-event'; + var SELECTOR_ACTIVE$1 = '.active'; + var SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; + var SELECTOR_ITEM = '.carousel-item'; + var SELECTOR_ITEM_IMG = '.carousel-item img'; + var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; + var SELECTOR_INDICATORS = '.carousel-indicators'; + var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'; + var SELECTOR_DATA_RIDE = '[data-ride="carousel"]'; + var PointerType = { + TOUCH: 'touch', + PEN: 'pen' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Carousel = /*#__PURE__*/function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + } // Getters + + + var _proto = Carousel.prototype; + + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(DIRECTION_NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + var $element = $__default['default'](this._element); // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + + if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(DIRECTION_PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if (this._element.querySelector(SELECTOR_NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._updateInterval(); + + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $__default['default'](this._element).one(EVENT_SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $__default['default'](this._element).off(EVENT_KEY$2); + $__default['default'].removeData(this._element, DATA_KEY$2); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default, config); + Util.typeCheckConfig(NAME$2, config, DefaultType); + return config; + }; + + _proto._handleSwipe = function _handleSwipe() { + var absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + var direction = absDeltax / this.touchDeltaX; + this.touchDeltaX = 0; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); + } + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(EVENT_MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + }; + + _proto._addTouchEventListeners = function _addTouchEventListeners() { + var _this3 = this; + + if (!this._touchSupported) { + return; + } + + var start = function start(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchStartX = event.originalEvent.clientX; + } else if (!_this3._pointerEvent) { + _this3.touchStartX = event.originalEvent.touches[0].clientX; + } + }; + + var move = function move(event) { + // ensure swiping with one touch and not pinching + if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { + _this3.touchDeltaX = 0; + } else { + _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; + } + }; + + var end = function end(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + } + + _this3._handleSwipe(); + + if (_this3._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + _this3.pause(); + + if (_this3.touchTimeout) { + clearTimeout(_this3.touchTimeout); + } + + _this3.touchTimeout = setTimeout(function (event) { + return _this3.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + } + }; + + $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) { + return e.preventDefault(); + }); + + if (this._pointerEvent) { + $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) { + return start(event); + }); + $__default['default'](this._element).on(EVENT_POINTERUP, function (event) { + return end(event); + }); + + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) { + return start(event); + }); + $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) { + return move(event); + }); + $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) { + return end(event); + }); + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : []; + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === DIRECTION_NEXT; + var isPrevDirection = direction === DIRECTION_PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === DIRECTION_PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM)); + + var slideEvent = $__default['default'].Event(EVENT_SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $__default['default'](this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1)); + $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1); + } + } + }; + + _proto._updateInterval = function _updateInterval() { + var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM); + + if (!element) { + return; + } + + var elementInterval = parseInt(element.getAttribute('data-interval'), 10); + + if (elementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = elementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + }; + + _proto._slide = function _slide(direction, element) { + var _this4 = this; + + var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === DIRECTION_NEXT) { + directionalClassName = CLASS_NAME_LEFT; + orderClassName = CLASS_NAME_NEXT; + eventDirectionName = DIRECTION_LEFT; + } else { + directionalClassName = CLASS_NAME_RIGHT; + orderClassName = CLASS_NAME_PREV; + eventDirectionName = DIRECTION_RIGHT; + } + + if (nextElement && $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + this._activeElement = nextElement; + var slidEvent = $__default['default'].Event(EVENT_SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) { + $__default['default'](nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $__default['default'](activeElement).addClass(directionalClassName); + $__default['default'](nextElement).addClass(directionalClassName); + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $__default['default'](activeElement).one(Util.TRANSITION_END, function () { + $__default['default'](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1); + $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName); + _this4._isSliding = false; + setTimeout(function () { + return $__default['default'](_this4._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1); + $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1); + this._isSliding = false; + $__default['default'](this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } // Static + ; + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$2); + + var _config = _extends({}, Default, $__default['default'](this).data()); + + if (typeof config === 'object') { + _config = _extends({}, _config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $__default['default'](this).data(DATA_KEY$2, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $__default['default'](selector)[0]; + + if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) { + return; + } + + var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($__default['default'](target), config); + + if (slideIndex) { + $__default['default'](target).data(DATA_KEY$2).to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION$2; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler); + $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () { + var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $__default['default'](carousels[i]); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $__default['default'].fn[NAME$2] = Carousel._jQueryInterface; + $__default['default'].fn[NAME$2].Constructor = Carousel; + + $__default['default'].fn[NAME$2].noConflict = function () { + $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2; + return Carousel._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$3 = 'collapse'; + var VERSION$3 = '4.6.0'; + var DATA_KEY$3 = 'bs.collapse'; + var EVENT_KEY$3 = "." + DATA_KEY$3; + var DATA_API_KEY$3 = '.data-api'; + var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3]; + var Default$1 = { + toggle: true, + parent: '' + }; + var DefaultType$1 = { + toggle: 'boolean', + parent: '(string|element)' + }; + var EVENT_SHOW = "show" + EVENT_KEY$3; + var EVENT_SHOWN = "shown" + EVENT_KEY$3; + var EVENT_HIDE = "hide" + EVENT_KEY$3; + var EVENT_HIDDEN = "hidden" + EVENT_KEY$3; + var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3; + var CLASS_NAME_SHOW$1 = 'show'; + var CLASS_NAME_COLLAPSE = 'collapse'; + var CLASS_NAME_COLLAPSING = 'collapsing'; + var CLASS_NAME_COLLAPSED = 'collapsed'; + var DIMENSION_WIDTH = 'width'; + var DIMENSION_HEIGHT = 'height'; + var SELECTOR_ACTIVES = '.show, .collapsing'; + var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]'; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Collapse = /*#__PURE__*/function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + var _proto = Collapse.prototype; + + // Public + _proto.toggle = function toggle() { + if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) { + if (typeof _this._config.parent === 'string') { + return elem.getAttribute('data-parent') === _this._config.parent; + } + + return elem.classList.contains(CLASS_NAME_COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; + } + } + + if (actives) { + activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $__default['default'].Event(EVENT_SHOW); + $__default['default'](this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide'); + + if (!activesData) { + $__default['default'](actives).data(DATA_KEY$3, null); + } + } + + var dimension = this._getDimension(); + + $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $__default['default'](_this._element).trigger(EVENT_SHOWN); + }; + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { + return; + } + + var startEvent = $__default['default'].Event(EVENT_HIDE); + $__default['default'](this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1); + var triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector))); + + if (!$elem.hasClass(CLASS_NAME_SHOW$1)) { + $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN); + }; + + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $__default['default'].removeData(this._element, DATA_KEY$3); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$1, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + Util.typeCheckConfig(NAME$3, config, DefaultType$1); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH); + return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $__default['default'](children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1); + + if (triggerArray.length) { + $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } // Static + ; + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $__default['default'](this); + var data = $element.data(DATA_KEY$3); + + var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $element.data(DATA_KEY$3, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION$3; + } + }, { + key: "Default", + get: function get() { + return Default$1; + } + }]); + + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) { + // preventDefault only for 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